This Information is Intended for: Faculty, Postdocs, Researchers, Staff, Students
Last Updated: January 18, 2022
Average Rating: Not Rated
Recommended Intel Stack
We provide users with a single module that effectively loads most recent versions of Intel compilers, Intel MKL, and Intel MPI to your environment. To use this module, enter this command:
module load intel-stack
The current version of this software is Intel Parallel Studio XE 2020 - 20.0.1.
Important Version Information
When this software is updated, sometimes there are revisions that can significantly change how you should write your code and potentially alter the output of your programs. The following links provide information on update revisions and/or deprecated features:
Intel MKL: https://software.intel.com/content/www/us/en/develop/documentation/mkl-linux-developer-guide/top.html
For more information, search the Intel site.
There can also be more subtle changes that are not listed in the public documentation. A particularly important variable for many high-performance computing applications is floating point precision. The following article displays how switching between versions can change the results of floating point calculations and affect the output of your programs: https://community.intel.com/t5/Intel-Fortran-Compiler/Change-in-floating-point-rounding-between-Versions-11-and-12-of/td-p/810063
Alternative Intel Stack
As an alternative software stack, we also provide the Intel Developer Toolchain (Intel Parallel Studio 2017 - Cluster Edition). To do this, simply load the following modules:
module load intel/compiler/64/2017/17.0.0 module load intel/mkl/64/2017/0.098 module load intel/mpi/64/2017/0.098
Additional Information
It is important to remember that you should incorporate MKL and MPI modules in your Slurm job scripts. You can do this by simply including the relevant module load command(s) in your script. See the following link for an example slurm job script: https://it.stonybrook.edu/help/kb/example-slurm-job-script
Intel MPI has two sets of wrappers - one for the Intel compilers and another set for the GCC compilers. The wrappers for the Intel compilers are:
mpiicc - if using the Intel C compiler mpiicpc - if using the Intel C++ compiler mpiifort - if using the Intel Fortran compiler
The wrappers for gcc are:
mpicc - if using the GNU C Compiler mpicxx - if using the GNU C++ Compiler mpifort - if using the GNU Fortran Compiler
More documentation about Intel MPI can be found here: https://software.intel.com/content/www/us/en/develop/tools/documentation-library.html?query=¤tPage=1&externalFilter=rsoftware:componentsproducts/intelmpilibrary;