Developer Guide and Reference

Contents

Porting 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® 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.
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.