MPI-P Linux documentation  
Compilers  

Imprint (en) | Privacy Policy (en)

Compilers

PDF-Version

Intel Compiler

The theory group has a five user floating license for Intel Parallel Studio.

The current version is XE20, update 4. All available versions are :

  • XE20, update 4
  • XE20, update 2
  • XE20, update 1
  • XE20
  • XE19, update 5
  • XE19, update 4
  • XE19, update 3
  • XE19, update 2
  • XE19, update 1
  • XE19
  • XE18, update 4
  • XE18, update 3
  • XE18, update 2
  • XE18, update 1
  • XE18
  • XE17, update 8
  • XE17, update 7
  • XE17, update 6
  • XE17, update 5
  • XE17, update 4
  • XE17, update 2
  • XE17,
  • XE16, update 4,
  • XE16,
  • XE15, update 6,
  • XE15, update 3,
  • XE15, update 2,
  • XE14, and
  • XE13 update 4

of Parallel or Cluster Studio, and XE12 update 4 of Composer XE.

Setting up the compiler environment

To use Intel Parallel Studio, set the environment for a terminal window.

Note, the commands for XE14 and up initialize not only the compilers but also the Intel Trace Analyzer, Intel MPI, Inspector XE, VTune(TM) Amplifier XE, and Advisor XE.

Initialize Intel Parallel Studio using the following script, e.g. in your .profile:

VERSION=XE20u4
INITPATH=parallel_studio_xe_2020
INITSCRIPT=psxevars.sh
. /sw/linux/intel/${VERSION}/${INITPATH}/${INITSCRIPT}

For other versions of Intel Parallel Studio replace the variable in the script with the values of the desired version's row in the table below:

Table 1: Initialization variables and values for Intel Parallel Studio
Compiler version VERSION INITPATH INITSCRIPT
XE20 update 4 XE20u4 parallel_studio_xe_2020 psxevars.sh
XE20 update 2 XE20u2 parallel_studio_xe_2020 psxevars.sh
XE20 update 1 XE20u1 parallel_studio_xe_2020 psxevars.sh
XE20 XE20 parallel_studio_xe_2020 psxevars.sh
XE19 update 5 XE19u5 parallel_studio_xe_2019 psxevars.sh
XE19 update 4 XE19u4 parallel_studio_xe_2019 psxevars.sh
XE19 update 3 XE19u3 parallel_studio_xe_2019 psxevars.sh
XE19 update 2 XE19u2 parallel_studio_xe_2019 psxevars.sh
XE19 update 1 XE19u1 parallel_studio_xe_2019 psxevars.sh
XE19 XE19 parallel_studio_xe_2019 psxevars.sh
XE18 update 4 XE18u4 parallel_studio_xe_2018 psxevars.sh
XE18 update 3 XE18u3 parallel_studio_xe_2018 psxevars.sh
XE18 update 2 XE18u2 parallel_studio_xe_2018 psxevars.sh
XE18 update 1 XE18u1 parallel_studio_xe_2018 psxevars.sh
XE18 XE18 parallel_studio_xe_2018 psxevars.sh
XE17 update 8 XE17u8 parallel_studio_xe_2017 psxevars.sh
XE17 update 7 XE17u7 parallel_studio_xe_2017 psxevars.sh
XE17 update 6 XE17u6 parallel_studio_xe_2017 psxevars.sh
XE17 update 5 XE17u5 parallel_studio_xe_2017 psxevars.sh
XE17 update 4 XE17u4 parallel_studio_xe_2017 psxevars.sh
XE17 update 2 XE17u2 parallel_studio_xe_2017.2.050 psxevars.sh
XE17 update 1 XE17u1 parallel_studio_xe_2017.1.043 psxevars.sh
XE17 XE17 parallel_studio_xe_2017.0.035 psxevars.sh
XE16 update 4 XE16u4 parallel_studio_xe_2016.4.072 psxevars.sh
XE16 XE16 parallel_studio_xe_2016.0.047 psxevars.sh
XE15 update 6 XE15u6 parallel_studio_xe_2015 psxevars.sh
XE15 update 3 XE15u3 parallel_studio_xe_2015 psxevars.sh
XE15 update 2 XE15u2 parallel_studio_xe_2015 psxevars.sh
XE13 update 4 XE13u4 ics/2013.1.039 ictvars.sh
  • Setting up XE12 update 2 (replace “intel64” with “ia32” if you are using a 32-bit platform)

    . /sw/linux/intel/XE12u2/bin/compilervars.sh intel64
    

Using the compilers

The commands to start the compilers are:

  • icpc for the C++ compiler
  • icc for the C compiler
  • ifort for the FORTRAN compiler

To get help, append the -help option or precede with the man(1) command.

Compiler documentation

You can find more documentation here:

  • Intel Online Documentation
  • XE20, update 4
    • /sw/linux/intel/XE20u4/documentation_2020/en/ps2020/getstart_clus.htm
  • XE20, update 2
    • /sw/linux/intel/XE20u2/documentation_2020/en/ps2020/getstart_clus.htm
  • XE20, update 1
    • /sw/linux/intel/XE20u1/documentation_2020/en/ps2020/getstart_clus.htm
  • XE20
    • /sw/linux/intel/XE20/documentation_2020/en/ps2020/getstart_clus.htm
  • XE19, update 5
    • /sw/linux/intel/XE19u5/documentation_2019/en/ps2019/getstart_clus.htm
  • XE19, update 4
    • /sw/linux/intel/XE19u4/documentation_2019/en/ps2019/getstart_clus.htm
  • XE19, update 3
    • /sw/linux/intel/XE19u3/documentation_2019/en/ps2019/getstart_clus.htm
  • XE19, update 2
    • /sw/linux/intel/XE19u2/documentation_2019/en/ps2019/getstart_clus.htm
  • XE19, update 1
    • /sw/linux/intel/XE19u1/documentation_2019/en/ps2019/getstart_clus.htm
  • XE19
    • /sw/linux/intel/XE19/documentation_2019/en/ps2019/getstart_clus.htm
  • XE18, update 4
    • /sw/linux/intel/XE18u4/documentation_2018/en/ps2018/getstart_clus_l.htm
  • XE18, update 3
    • /sw/linux/intel/XE18u3/documentation_2018/en/ps2018/getstart_clus_l.htm
  • XE18, update 2
    • /sw/linux/intel/XE18u2/documentation_2018/en/ps2018/getstart_clus_l.htm
  • XE18, update 1
    • /sw/linux/intel/XE18u1/documentation_2018/en/ps2018/getstart_clus_l.htm
  • XE18
    • /sw/linux/intel/XE18/documentation_2018/en/ps2018/getstart_clus_l.htm
  • XE17, update 8
    • /sw/linux/intel/XE17u8/documentation_2017/en/ps2017/getstart_clus_l.htm
  • XE17, update 7
    • /sw/linux/intel/XE17u7/documentation_2017/en/ps2017/getstart_clus_l.htm
  • XE17, update 6
    • /sw/linux/intel/XE17u6/documentation_2017/en/ps2017/getstart_clus_l.htm
  • XE17, update 5
    • /sw/linux/intel/XE17u5/documentation_2017/en/ps2017/getstart_clus_l.htm
  • XE17, update 4
    • /sw/linux/intel/XE17u4/documentation_2017/en/ps2017/getstart_clus_l.htm
  • XE17, update 2
    • /sw/linux/intel/XE17u2/documentation_2017/en/ps2017/getstart_clus_l.htm
  • XE17, update 1
    • /sw/linux/intel/XE17u1/documentation_2017/en/ps2017/getstart_clus_l.htm
  • XE17
    • /sw/linux/intel/XE17/documentation_2017/en/ps2017/getstart_clus_l.htm
  • XE16, update 4
    • /sw/linux/intel/XE16u4/documentation_2016/en/ps2016/getstart_clus_l.htm
  • XE16
    • /sw/linux/intel/XE16/documentation_2016/en/ps2016/getstart_clus_l.htm
  • XE15, update 6
    • /sw/linux/intel/XE15u6/parallel_studio_xe_2015/Documentation/en_US/cluster_edition/Doc_Index.htm
  • XE15, update 3
    • /sw/linux/intel/XE15u3/parallel_studio_xe_2015/Documentation/en_US/cluster_edition/Doc_Index.htm
  • XE15, update 2
    • /sw/linux/intel/XE15u2/parallel_studio_xe_2015/Documentation/en_US/cluster_edition/Doc_Index.htm
  • XE14
    • C/C++: /sw/linux/intel/XE14/composerxe/Documentation/en_US/get_started_lc.htm
    • Fortran: /sw/linux/intel/XE14/composerxe/Documentation/en_US/get_started_lf.htm
    • Math Kernel Library: /sw/linux/intel/XE14/composerxe/Documentation/en_US/mkl/get_started.html
    • Integrated Performance Primitives: /sw/linux/intel/XE14/composerxe/Documentation/en_US/ipp/get_started.html
    • Threaded Building Blocks: /sw/linux/intel/XE14/composerxe/Documentation/en_US/tbb/get_started.html
  • XE13, update 4
    • C/C++: /sw/linux/intel/XE13u4/Documentation/en_US/get_started_lc.htm
    • Fortran: /sw/linux/intel/XE13u4/Documentation/en_US/get_started_lf.htm
  • XE13
    • C/C++: /sw/linux/intel/XE13u2/Documentation/en_US/get_started_lc.htm
    • Fortran: /sw/linux/intel/XE13u2/Documentation/en_US/get_started_lf.htm
    • Intel Trace Analyzer: /sw/linux/intel/XE13u2/Doc_Index.html
  • XE12
    • /sw/linux/intel/XE12u2/composerxe-2011.2.137/Documentation/en_US/documentation_c.htm
    • /sw/linux/intel/XE12u2/composerxe-2011.2.137/Documentation/en_US/documentation_f.htm

Intel Trace Analyzer (XE <= 13.4)

Use the Intel® Trace Analyzer and Collector to understand the MPI application behavior, quickly find bottlenecks and achieve high performance for parallel cluster applications.

Note: For Parallel Studio XE15 and up you initialize the trace analyzer by setting up the compiler environment.

To simplify the use of the Intel Trace Analyzer and Collector, set up its environment in your shell by using the provided scripts.

Intel MPI Library (XE 13.4)

  • Using bash/ksh/sh:

    . /sw/linux/intel/XE13u4/impi/4.1.1.036/bin64/mpivars.sh
    
  • Using legacy csh/tcsh

    source /sw/linux/intel/XE13u4/impi/4.1.1.036/bin64/mpivars.csh
    

    For more information see Intel® MPI Library - Documentation

Portland Group Compiler

Note: We don't license the Portland Group Compiler anymore. Apparently it hasn't been missed since at least 2014.

The existing license includes use of the accelerator compiler. You can use it from the group's Linux machines; up to 5 users can compile at the same time.

To use the 64-bit PGI compilers and tools:

Community Version 19.10 on Debina Linux 10

You can put the following script in your .profile. Please adjust the set_pgi call to your preferred compiler version.

# call with values of 19.10
set_d10pgi()
{
  PGI=/sw/linux/pgi/$1-d10; export PGI
  MANPATH=$MANPATH:$PGI/linux86-64/$1/man; export MANPATH
  LM_LICENSE_FILE=$PGI/license.dat; export LM_LICENSE_FILE
  PATH=$PGI/linux86-64/$1/bin:$PATH; export PATH
}

set_d10pgi 19.10

Version 14.10 and 14.9 on Debian Linux 9

You can put the following script in your .profile. Please adjust the set_pgi call to your preferred compiler version.

# call with values of 14.9 or 14.10
set_pgi()
{
  PGI=/sw/linux/pgi/$1-debian; export PGI
  MANPATH=$MANPATH:$PGI/linux86-64/$1/man; export MANPATH
  LM_LICENSE_FILE=$PGI/license.dat; export LM_LICENSE_FILE
  PATH=$PGI/linux86-64/$1/bin:$PATH; export PATH

}

set_pgi 14.10

Version 11.10, 12.10, 13.7, 13.8, 13.10, or 14.9

You can put the following script in your .profile. Please adjust the set_pgi call to your preferred compiler version.

# call with values of 11.10, 12.10, 13.7, 13.8, 13.10. or 14.9
set_pgi()
{
  PGI=/sw/linux/pgi/$1; export PGI
  MANPATH=$MANPATH:$PGI/linux86-64/$1/man; export MANPATH
  LM_LICENSE_FILE=$PGI/license.dat; export LM_LICENSE_FILE
  PATH=$PGI/linux86-64/$1/bin:$PATH; export PATH

}

set_pgi 13.10

Note, when using this code, you can use the other versions by simply calling e.g. set_pgi 12.10 on the command line. Then your environment is set to use version 12.10 of the PGI compilers.

Version 10.9

You can put the following script in your .profile.

PGI=/sw/linux/pgi-10.9; export PGI
MANPATH=$MANPATH:$PGI/linux86-64/10.9/man; export MANPATH
LM_LICENSE_FILE=$PGI/license.dat; export LM_LICENSE_FILE
PATH=$PGI/linux86-64/10.9/bin:$PATH; export PATH

You can find a more documentation on the Portland group web site: www.pgroup.com

Notes on compiling

Note: Do not modify or set LD_LIBRARY_PATH in your .bashrc, .profile or other shell initialization files.

Note: Try to never use the LD_LIBRARY_PATH variable, if possible. See https://enchildfone.wordpress.com/2010/03/23/a-description-of-rpath-origin-ld_library_path-and-portable-linux-binaries/ for hints on how to avoid the variable.