Overview
There are several possible avenues for building software on the cluster. This section discusses the options.
Contents
- Modules for Compilers, Build Tools, and Libraries
- GNU Compilers
- Intel Compilers
- Cmake
- MPI
- Using Spack to Build Software
Compilers, Build Tools, and Libraries
There are plenty of software modules available for compilers, build systems, and libraries that can make it much easier to build software yourself.
GNU Compilers
The Nova cluster has multiple versions of GNU compilers.
jedicker@nova21-swift-2 ~]$ module spider gcc
-----------------------------------------------------------------------------------------
gcc:
-----------------------------------------------------------------------------------------
Versions:
gcc/7.5.0-lohvu65
gcc/8.5.0-vgowph4
gcc/8.5.0-7u6zupk
gcc/12.2.0-khmr45w
gcc/14.2.0-cuda12-vx6uhdf
Other possible modules matches:
gcc-runtime
This shows several versions of gcc are available: 7.5, 8.5, 12.2, and 14.2 (with CUDA). To load the 12.2 version, do:
$ module load gcc/12.2
Intel Compilers
If you do need to use Intel Compilers, you can do:
$ module spider intel
-----------------------------------------------------------------------------------
intel:
-----------------------------------------------------------------------------------
Versions:
intel/18.2
intel/19.5
intel/20.1
intel/22.3.1
intel/2024.2.0
Note that Intel 22.3.1 and later are OneAPI versions.
Also, code built with Intel compilers may not be fully optimized for systems with AMD processors.
Cmake
To see the available modules for cmake, do: module spider cmake
MPI
Building MPI yourself is not really necessary. The Nova cluster provides software modules for OpenMPI. See module spider openmpi to see what versions are available.