Port from GCC* to the
Intel® oneAPI
DPC++/C++ Compiler
Intel® oneAPI
DPC++/C++
CompilerThis section describes a basic approach to porting applications from the (GNU Compiler Collection*) GCC C/C++ compilers to the
Intel® oneAPI
. These compilers correspond to each other as follows:
DPC++/C++
CompilerLanguage
| Intel® Compiler
| GCC Compiler
|
---|---|---|
C
| icx for C++ or
dpcpp for DPC++. | gcc |
C++
| icpx for C++ or
dpcpp for DPC++. | g++ |
Unless otherwise indicated, the term "
gcc
" refers to both GCC and G++* compilers from the GCC.
Advantages to Using the
Intel® oneAPI
DPC++/C++ Compiler
Intel® oneAPI
DPC++/C++
CompilerIn many cases, porting applications from
) instead of
gcc
to the
Intel® oneAPI
can be as easy as modifying your makefile to invoke the
DPC++/C++
CompilerIntel® oneAPI
(DPC++/C++
Compilericx
for C++ or
dpcpp
for DPC++gcc
. Using the
Intel® oneAPI
typically improves the performance of your application, especially for those that run on Intel processors. In many cases, your application's performance may also show improvement when running on non-Intel processors. When you compile your application with the
DPC++/C++
CompilerIntel® oneAPI
, you have access to:
DPC++/C++
Compiler- Compiler options that optimize your code for the latest Intel® architecture processors.
- Advanced profiling tools (PGO) similar to the GNU profilergprof.
- High-level optimizations (HLO).
- Interprocedural optimization (IPO).
- Intel intrinsic functions that the compiler uses to inline instructions, including various versions of Intel® Streaming SIMD Extensions and Intel® Advanced Vector Extensions.
- Highly-optimizedIntel® oneAPIMath Library for improved accuracy.DPC++/C++Compiler
Because the
Intel® oneAPI
is compatible and interoperable with
DPC++/C++
Compilergcc
, porting your
gcc
application to the
Intel® oneAPI
includes the benefits of binary compatibility. As a result, you should not have to re-build libraries from your
DPC++/C++
Compilergcc
applications. The
Intel® oneAPI
also supports many of the same compiler options, macros, and environment variables you already use in your
DPC++/C++
Compilergcc
work.
Equivalent Macros
The
Intel® oneAPI
is compatible with the predefined GNU* macros.
DPC++/C++
CompilerSee
http://gcc.gnu.org for a list of compatible predefined macros.
Product and Performance Information
|
---|
Performance varies by use, configuration and other factors. Learn more at
www.Intel.com/PerformanceIndex.
Notice revision #20201201
|