Choosing a Compiler
As we learned in the previous section, many prebuilt software packages exist on Vista, and they are conveniently provided through the module system. Quite often, though, you will want to build software for yourself—and for that, you need a compiler.
The NVIDIA HPC SDK compiler suite is the recommended and default choice for building executables from C/C++ and Fortran code on Vista. The nvc, nvc++, and nvfortran compilers fully support NVIDIA Grace CPUs; moreover, they support standards-based interfaces to the Hopper GPUs, including OpenMP and OpenACC. Any CUDA code targeted for the GPUs may be compiled with the nvcc compiler, as it offers full C/C++ support for CUDA, while CUDA Fortran code can be compiled with nvfortran -cuda. Further information on compiling for GPUs is found in the GPU integration topic.
Should the GNU Compiler Collection (GCC) be required instead, it's best not to use the older version (11.4.1) that is built into the Rocky 9.3 operating system. Loading a newer GCC version through a module is highly recommended. Along with other advantages, the newer GCC versions offer better support for GPU offloading through OpenMP and OpenACC (note, the NVIDIA compilers are preferred for OpenACC).
Various versions of these compilers are provided via modules, which are updated from time to time. The compiler versions currently (December, 2025) available on Vista are:
-
The default
nvidiaversion, which is loaded by modulefilenvidia/24.7 -
Other
nvidiaversions that may work better for your code:nvidia/24.5,nvidia/24.9,nvidia/25.3,nvidia/25.5,nvidia/25.9 -
Several versions of the GNU compilers (11.4.1 is the fallback, if no gcc modules are loaded):
gcc/13.2.0,gcc/14.2.0,gcc/15.1.0
All of the above are accessible from the compute nodes as well as the login nodes.
CVW material development is supported by NSF OAC awards 1854828, 2321040, 2323116 (UT Austin) and 2005506 (Indiana University)