Intel Compiler 2016
From HPC users
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