Developer Guide and Reference

ID 767253
Date 10/31/2024
Public
Document Table of 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

gcc

C++

icpx

g++

NOTE:
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 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 GNU Predefined Macros 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