Difference between revisions of "Intel Compiler 2016"

From HPC users
Jump to navigationJump to search
 
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/6.4   # change the environment
  module load hpc-env/8.3   # change the environment
  module av icc
  module av icc




------------------ /cm/shared/uniol/modules/8.3/compiler -------------------
------------------ /cm/shared/uniol/modules/8.3/compiler -------------------
  '''icc/2019.5.281'''
    '''icc/2019.5.281'''
 
--------------------- /cm/shared/uniol/modules/8.3/mpi ---------------------
--------------------- /cm/shared/uniol/modules/8.3/mpi ---------------------
  '''impi/2019.6.166-iccifort-2019b'''
    '''impi/2019.6.166-iccifort-2019b'''
 
------------------ /cm/shared/uniol/modules/8.3/toolchain ------------------
------------------ /cm/shared/uniol/modules/8.3/toolchain ------------------
  '''iccifort/2019b'''
    '''iccifort/2019b'''





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