91心頭利

Skip to main content
Close menu 91心頭利

Compilers and MPI software

 

Compilers

All main-campus and VIMS clusters have Intel and GNU compiler toolchains installed.   As of our recent refresh to Rocky Linux 9, here are the available compilers:

Name module suggested optimization flags release date executable names (C,C++,Fortran) information
Intel oneAPI DPC++/C++ Compiler /Fortran intel/compiler-2024.0 -O3 -xHost 12/13/2023

icx,icpx,ifx

** ifort is available but will warn you to switch to ifx

 - C/C++/DPC++ docs for current and previous versions.

 - Fortran docs for current and previous versions.

NOTE: the -ip flag is not supported for ifx

Intel oneAPI DPC++/C++ Compiler /Fortran  intel/compiler-2022.2.1 -O3 -xHost 10/20/2022

icx,icpx,ifort

** icc and icpc are available but will warn you to switch to icx,icpx

GNU Compiler suite (C++/C/Fortran) N/A - defautl gcc on all refreshed systems -O3 -march=native 06/25/23 gcc,g++,gfortran
 - GNU compiler documentation

As needed, older versions of compilers may be installed, however, we strongly encourage users to try working with the latest versions of Intel OneAPI and/or Gnu compilers listed above. We encourage users to read the man pages for the compiler tools they need more information about:  e.g.:

>> man ifx

Use the following links to understand what has changed between older version of the compilers and the current versions:

Intel and GNU compiler flags with descriptions

Intel flag GNU flag description notes
-O0,-O1,-O2,-O3,-Ofast level of optimization to try (from none to most aggressive) -On can result in other flags being used.  Please read the man page to see which other flags are added for each level of optmization
-fast N/A A combination of -Ofast, -ipo, -static (for static linking), and -xHost. Very aggressive optmization ; be sure you are getting correct results
-qopenmp -fopenmp enable OpenMP
-fp-model <level> -ffast-math tunes floating-point accuracy

for Intel, level can be strict, precise, or fast 

for GNU -ffast-math takes no arguments

-ipo N/A enable inter procedural optmization
-xHost -march=native tune compilation for local processor

 

 

MPI software 

The HPC clusters at main-campus and VIMS have both IntelMPI and OpenMPI.   We typically compile other parallel software using one or both flavors.   

name module release date wrapper scripts notes
Intel MPI toolkit intel/mpi-2021.11

06/05/2023

mpiicx, mpiicpx,mpiifx

mpicc,mpicxx, mpif90

mpiicx, mpiicpx,mpiifx - uses Intel Compiler with Intel MPI

mpicc,mpicxx, mpif90 - uses GNU compiler with Intel MPI

OpenMPI-4.1.6. compiled with Intel-2024.0 openmpi-ib/intel-2024.0/4.1.6 9/30/2023 mpicc, mpicxx, mpif90
OpenMPI-4.1.6 compiled with GNU 11.4.1 openmpi-ib/gcc-11.4.1/4.1.6

Running MPI jobs in the cluster

All clusters run the batch system.  We encourage using srun (see the RC SLURM users guide) instead of mpirun, mpiexec to launch MPI jobs.