Difference between revisions of "Intel Compiler"

From HPC users
Jump to navigationJump to search
(Created page with "The Intel Compilers are available as modules for 32bit (depricated) and 64-bit version. New releases are included in the modules of the Intel Cluster Studio (''intel/ics''). ...")
 
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The Intel Compilers are available as modules for 32bit (depricated) and 64-bit version. New releases are included in the modules of the  
The Intel Compilers are available as modules for 32bit (depricated) and 64-bit version. To see the available versions of the Intel Compilers type
Intel Cluster Studio (''intel/ics''). The actual release can be loaded by
  module av ics
which currently shows
  -------------------- /cm/shared/uniol/modulefiles/COMPILER ---------------------
  ics/2013_sp1.3.174/32 ics/2013_sp1.3.174/64
To load the module of your choice type e.g.
  module load ics/2013_sp1.3.174/64
The commands for the available languages are
<center>
{| style="background-color:#eeeeff;" cellpadding="10" border="1" cellspacing="0"
|- style="background-color:#ddddff;"
! Name
!Description
|-
| ''icc''
| C compiler
|-
| ''icpc''
| C++ compiler
|-
| ''ifort''
| Fortran compiler
|-
|}
</center>


  module load intel/ics/2013.5.192/64


The Fortran and C-compilert of the old release 10.1.015 are available in separate modules ''intel/fc'' and ''intel/cc''.
== Compiler Flags ==
Here are some compiler flags which may increase the performance of your code
<center>
{| style="background-color:#eeeeff;" cellpadding="10" border="1" cellspacing="0"
|- style="background-color:#ddddff;"
! 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.
|-
|}
</center>
For more informations please have a look on the man pages.
 
 
== 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


'''Note''': The release 2011.0.13 of the Intel Cluster Studio has serveral problems (e.g. when compiling WRF, python,...). It is recommended to use the latest release.


== Intel Cluster Studio addons ==
== Intel Cluster Studio addons ==
Line 14: Line 72:
* MKL (Math Kernel Library)
* MKL (Math Kernel Library)
* VTune  
* VTune  
* Intel Trace Analyzer (now in seperate module intel/itac/8.1.2.033)
* Intel Trace Analyzer  
* Intel Thread Checker
* Intel Thread Checker
* Intel Debugger (idb)
* Intel Debugger (idb)
* Thread Building Blocks
* Thread Building Blocks
* Intel(R) Advisor Command Line Tool
* Intel(R) Advisor Command Line Tool

Latest revision as of 10:39, 10 February 2015

The Intel Compilers are available as modules for 32bit (depricated) and 64-bit version. To see the available versions of the Intel Compilers type

 module av ics

which currently shows

 -------------------- /cm/shared/uniol/modulefiles/COMPILER ---------------------
 ics/2013_sp1.3.174/32 ics/2013_sp1.3.174/64

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

 module load ics/2013_sp1.3.174/64

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.

For more informations please have a look on the man pages.


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


Intel Cluster Studio addons

Within the Intel Cluster Studio several tools and libraries for debugging, profiling and analyzing of program code are included:

  • MKL (Math Kernel Library)
  • VTune
  • Intel Trace Analyzer
  • Intel Thread Checker
  • Intel Debugger (idb)
  • Thread Building Blocks
  • Intel(R) Advisor Command Line Tool