Intel Compiler 2016

From HPC users
Revision as of 14:44, 4 August 2020 by Schwietzer (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

The Intel compiler is available as a module and is available in different versions. To find out which versions are installed you can use the command

 module av icc

which currently shows

 -------------------- /cm/shared/uniol/modulefiles/COMPILER ---------------------

This output depends on the currently loaded environment. If you change to the newer environment, the output will differ:

module load hpc-env/8.3   # change the environment
module av icc

------------------ /cm/shared/uniol/modules/8.3/compiler -------------------

--------------------- /cm/shared/uniol/modules/8.3/mpi ---------------------

------------------ /cm/shared/uniol/modules/8.3/toolchain ------------------

To load the module of your choice type e.g.

 module load icc/2019.5.281

The commands for the available languages are

Name Description
icc C compiler
icpc C++ compiler
ifort Fortran compiler

Compiler Flags

Here are some compiler flags which may increase the performance of your code

Flag Description
-O2, -O3, -fast Enable optimization to maximise speed. -O3 and -fast is more agressive.
-xHost Enables the usage SIMD extensions of host which allows vectorizing of floating point operations.
-fp-model MODEL Defines the consistency level of floating point operations. Allowed MODEL are: fast, precise, strict, except
-[no-]prec-div, -[no-]prec-sqrt, -[no-]fast-transcendentals Enables faster computations of divisions, square roots and transcendental functions with a reduced accruacy, respectively.


  • usually best performance for C and Fortran code on Intel processors
  • high performance with OpenMP
  • high optimization done by compiler
  • Fortran extension coarray implemented


  • performance of C++ code can be moderate
  • relative slow compilation
  • not free, only for Intel architecture available
  • newest standards may missing
  • sometimes too enthusiastic/aggressive in optimization