Difference between revisions of "Intel Compiler 2016"
From HPC users
Jump to navigationJump to search
Schwietzer (talk | contribs) (Added hpc-env/6.4) |
Schwietzer (talk | contribs) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
The Intel compiler is available as a module and is | 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 | module av icc | ||
which currently shows | which currently shows | ||
Line 6: | Line 6: | ||
This output depends on the currently loaded environment. If you change to the newer environment, the output will differ: | This output depends on the currently loaded environment. If you change to the newer environment, the output will differ: | ||
module load hpc-env/ | module load hpc-env/8.3 # change the environment | ||
module av icc | module av icc | ||
------------------ /cm/shared/uniol/modules/8.3/compiler ------------------- | |||
'''icc/2019.5.281''' | |||
-------------------------------- / | --------------------- /cm/shared/uniol/modules/8.3/mpi --------------------- | ||
'''impi/2019.6.166-iccifort-2019b''' | |||
------------------ /cm/shared/uniol/modules/8.3/toolchain ------------------ | |||
'''iccifort/2019b''' | |||
To load the module of your choice type e.g. | To load the module of your choice type e.g. | ||
module load | module load icc/2019.5.281 | ||
The commands for the available languages are | The commands for the available languages are | ||
Latest revision as of 13:44, 4 August 2020
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 --------------------- 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/8.3 # change the environment module av icc
------------------ /cm/shared/uniol/modules/8.3/compiler ------------------- icc/2019.5.281 --------------------- /cm/shared/uniol/modules/8.3/mpi --------------------- impi/2019.6.166-iccifort-2019b ------------------ /cm/shared/uniol/modules/8.3/toolchain ------------------ iccifort/2019b
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. |
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