Intel CompilerProgramming EnvironmentTo use the Intel compiler, swap in the Intel programming environment (PrgEnv-intel) and use the wrappers for C (cc), C++ (CC), and Fortran (ftn). To see all available compiler versions, use the command: module avail intel To switch to a different version, use the command: module swap intel intel/<version> When to Use the Intel CompilerThe Intel compiler is good for vectorizing code and it provides the Intel MKL library for codes that need it. Fortran file naming
FlagsThere are numerous compile-time flags that can be used. For complete listings, see the man pages: man ifort man icc man icpc # c++ NCSA recommends: -fast -vec-report -no-ipo For Intel 16 and previous compiler version OpenMP codes, set OMP_PROC_BIND=spread and OMP_PLACES=threads. Do not set KMP_AFFINITY. export OMP_PROC_BIND=spread; export OMP_PLACES=threads; aprun -d <threads> ... For Intel 17 and later compiler versions, set only KMP_AFFINITY=disabled and OMP_NUM_THREADS , then use aprun -d <threads> ... MKLFor linking with Intel's mkl, use: ftn -dynamic <src_file.f> -mkl=sequential |