Intel Compiler 2016

From HPC users
Revision as of 12:24, 28 June 2019 by Schwietzer (talk | contribs) (Added hpc-env/6.4)
Jump to navigationJump to search

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

 module av icc

which currently shows

 -------------------- /cm/shared/uniol/modulefiles/COMPILER ---------------------
 icc/2016.3.210

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

module load hpc-env/6.4   # change the environment
module av icc
--------------------------------- /cm/shared/uniol/modules/6.4/compiler ---------------------------------
  icc/2018a

-------------------------------- /cm/shared/uniol/modules/6.4/toolchain ---------------------------------
  iccifort/2018a


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

 module load intel/2016.3.210

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.

Advantages

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


Disadvantages

  • 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