Difference between revisions of "Intel Compiler"

From HPC users
Jump to navigationJump to search
 
(3 intermediate revisions by the same user not shown)
Line 27: Line 27:


== Compiler Flags ==
== Compiler Flags ==
Here are some compiler flags to increase the performance of your code
Here are some compiler flags which may increase the performance of your code
<center>
<center>
{| style="background-color:#eeeeff;" cellpadding="10" border="1" cellspacing="0"  
{| style="background-color:#eeeeff;" cellpadding="10" border="1" cellspacing="0"  
Line 38: Line 38:
|-
|-
| ''-xHost''
| ''-xHost''
| Enables the usage SIMD extensions of host which allows parallelization of floating point operations.
| Enables the usage SIMD extensions of host which allows vectorizing of floating point operations.
|-
|-
| ''-fp-model'' '''MODEL'''
| ''-fp-model'' '''MODEL'''
| Defines the consistency level of floating point operations. Allowed '''MODEL''' are: ''fast'', ''precise'', ''strict''. ''except''  
| Defines the consistency level of floating point operations. Allowed '''MODEL''' are: ''fast'', ''precise'', ''strict'', ''except''  
|-
|-
| ''-[no-]prec-div'', ''-[no-]prec-sqrt'', ''-[no-]fast-transcendentals''
| ''-[no-]prec-div'', ''-[no-]prec-sqrt'', ''-[no-]fast-transcendentals''
| Enables faster computations of divisions, square roots and transcendental functions with a reduced accruacy.
| Enables faster computations of divisions, square roots and transcendental functions with a reduced accruacy, respectively.
|-
|-
|}
|}

Latest revision as of 09: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