Sign up for our newsletter and get the latest HPC news and analysis.
Send me information from insideHPC:


Intel® Compilers Overview: Scalable Performance for Intel® Processors

Intel® Compilers for C/C++ and Fortran empower developers to derive the greatest performance from applications and hardware. In this webinar Igor Vorobtsov, senior technical consulting engineer at Intel, discusses nuances of Intel compiler features which enable high-level optimization, auto-parallelization, auto-vectorization, dynamic profile guided optimization, detailed optimization reports, inter-procedural optimization (IPO), and much more.

Intel Compilers and their built-in features ultimately focus on three main goals: boosting application performance, maximizing developer productivity, and increasing application scalability. By simply recompiling code using Intel Compilers, an application optimizes for greater performance with maximization of available cores and vector registers.

Beyond general features like standards support, optimized math libraries, and support for instruction sets though vectorization, Intel compiler offers high-level optimization (HLO) settings which apply increasingly aggressive means to boost application performance:

  • -OO: Disables all optimization.
  • -O1: Enables scalar optimizations.
  • -O2: Includes auto-vectorization for substantial performance gains, loop transformation, loop interchange, and in lining within a source file.
  • -O3: Performs loop transformations to optimize memory access, combined with loop fusion, cache blocking, pre-fetching, and more. -O3 requires more compilation time than the other top-level settings. However, the more detailed optimization process enables the best possible application performance.

Several other compiler features and capabilities in version 18.0 enable further application performance:

  • Optimization reporting: This powerful feature provides developers deeper insight into the compiler’s code optimization process. It details what optimizations are applied – or not applied — and the compiler’s reasons for doing so.
  • Interprocedural optimization (IPO): This two-step process – as used in O2 — allows the compiler to analyze code and then evaluate benefits resulting from a specific optimization process.
  • Optimized math libraries: Optimized libraries now include libimf (scalar) and libsvml (scalar and vector)

Ultimately, these Intel compiler capabilities help developers maximize their own coding time and expertise while letting the compiler focus on detailed optimizations.

The Intel C++ Compiler is available in two products based on your application development needs, Intel® Parallel Studio XE and Intel® System Studio which offer free trials.

Learn more today >

Leave a Comment

*

Resource Links: