Porting codes

Software porting :

Intel Composer 2015 update 5 is the recommended compiler (currently the latest Intel compiler installed on zenobe).

  • The instruction set is upward compatible. Therefore:
    • Applications compiled with -xAVX can run on ivy Bridge, or Haswell processor
    • Applications compiled with -xCORE-AVX2 can run only on Haswell processors
  • Generating optimized code for Haswell processors
    • If your goal is to achieve the best performance from the Haswell processors, use the latest Intel compiler with one of the following the Haswell-specific optimization flags:
      -axCORE-AVX2
      -xCORE-AVX2
      Running an executable built with either the -xCORE-AVX2 flag or the -axCORE-AVX2 flag on Ivy Bridge processors will result in the following error:
      Fatal Error: This program was not built to run in your system. Please verify that both the operating system and the processor support Intel(R) AVX2
    • Generating code for any processor type
      If your goal is to create a portable executable file that can run on any processor type, you can choose one of the following approaches:
      Use none of the above flags (which defaults to -mSSE2)
      Use -xAVX
      Use -O3 -axCORE-AVX2 -xAVX (with the latest Intel compiler) Libraries built by ourselves (hdf5,....) are not yet optimized for Haswell processors.

MPI

Intel MPI and OpenMPI librairies are available on Zenobe.

OpenMPI are compiled with gcc 4.1.2 unless those tag with “-el6” which are built with gcc 4.4.7. Use module command to list the different releases.

The recommended tool is Intel MPI 4.1.3.045.

Prior to using an MPI library, you will have to load an appropriate module for a supported compiler suite.

Debug

Debugging your application gdb (gcc 4.4.7 tool suite ), Intel idb provided with Intel Composer XE tools suite and Allinea DDT are available for debugging purpose. Use module command to list the different releases.

Performance analysis

Tuning your application Allinea MAP and Intel Cluster Studio XE tools suite are available for tuning purpose. Use module command to list the different releases.

TAU, PAPI, SCALASCA and likwid installations are not finalized yet.