Compiling Your Code

The specifics of compiling and linking applications is beyond the scope of this document. However, we make the following compilers available (along with their supporting tools and libraries):

Compilers

  • GNU Compiler Collection (GCC)

  • Intel Parallel Studio XE Cluster Edition

  • Portland Group (PGI) Compilers with OpenACC support

To load one of these compilers into your environment, run one of the following commands:

module load gcc
module load intel
module load pgi64

NVIDIA CUDA

The NVIDIA CUDA tools, profilers, libraries, and SDK are automatically set up in your environment. By default, you will see that the latest version of CUDA is already in your path (try running which nvcc or echo $CUDA_HOME).

You can switch to older versions of CUDA using the module command. To see the options, run:

module spider cuda
module spider cuda/10.1.243

List available GPUs (and their capabilities)

nvidia-smi
deviceQuery

Additional Tools, Libraries & Software

The systems have CentOS Linux 7.x installed. Lmod Environment Modules are used to control which tools are available at any given time. For example, you cannot have GCC 4.9 and GCC 5.4 loaded at the same time, but you might need different versions for different projects. Environment Modules allow you to control which software packages (and which versions) are active without manually changing all the environment variables in your shell sessions and project build files.

List the software packages built with the current toolchain

module avail

List all available software

module spider

Load an additional software package

module load <package-name>

Unload all packages

module purge

Help with Environment Modules

module help

Last updated