Development Reference Guides

Contents

Port from GCC* to the
Intel® oneAPI
DPC++/C++
Compiler

This section describes a basic approach to porting applications from the (GNU Compiler Collection*) GCC C/C++ compilers to the
Intel® oneAPI
DPC++/C++
Compiler
. These compilers correspond to each other as follows:
Language
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

In many cases, porting applications from
gcc
to the
Intel® oneAPI
DPC++/C++
Compiler
can be as easy as modifying your makefile to invoke the
Intel® oneAPI
DPC++/C++
Compiler
(
icx
for C++ or
dpcpp
for DPC++
) instead of
gcc
. Using the
Intel® oneAPI
DPC++/C++
Compiler
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
Intel® oneAPI
DPC++/C++
Compiler
, you have access to:
  • Compiler options that optimize your code for the latest Intel® architecture processors.
  • Advanced profiling tools (PGO) similar to the GNU profiler
    gprof
    .
  • 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-optimized
    Intel® oneAPI
    DPC++/C++
    Compiler
    Math Library for improved accuracy.
Because the
Intel® oneAPI
DPC++/C++
Compiler
is compatible and interoperable with
gcc
, porting your
gcc
application to the
Intel® oneAPI
DPC++/C++
Compiler
includes the benefits of binary compatibility. As a result, you should not have to re-build libraries from your
gcc
applications. The
Intel® oneAPI
DPC++/C++
Compiler
also supports many of the same compiler options, macros, and environment variables you already use in your
gcc
work.

Equivalent Macros

The
Intel® oneAPI
DPC++/C++
Compiler
is compatible with the predefined GNU* macros.
See 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

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.