Compiling Code


As a preamble: Some very good tips and tricks for compiling can be found here, courtesy of North Carolina State University

Table of Contents

  1. GNU
  2. ICC
  3. NVCC

The open source gnu compilers are available as a module and can be loaded with:

module load gnu14
ICC

Spiedie also provides users with the Intel Parallel Studio Compilers suite to take advantage of the improved performance on the Xeon-Phi architecture available.

You can load the Intel compiler from the modules using:

module load intel

This loads the following libraries:

  • Intel Math Kernel LIbrary (Intel MKL©)
  • Intel Data Analytics Acceleration Library (Intel DAAL©)
  • Intel Integrated Performance Primitives
  • Intel MPI library
  • Intel Thread Building Block Library (Intel TBB©)

Click here for the summary of the toolset

The world of intel compilers is expansive, so if you wish to compile with Intel, time examining module versions on Spiedie is time well spent.

NVCC

The GPU compute nodes fully support CUDA accelerated applications and libraries.

The CUDA toolkit and runtime libraries are also available as modules on spiedie.

Note: Multiple version of the CUDA toolkit is available, namely CUDA 11.8 and CUDA 12.4

You can find all the available CUDA versions by running:

module avail | grep cuda

You can load the nvcc compiler using:

module load cuda/(version)

Click here to learn more about NVidia’s GPU accelerated libraries