The NVIDIA HPC SDK C, C++, and Fortran compilers support GPU acceleration of HPC modeling and simulation applications with standard C++ and Fortran, OpenACC® directives, and CUDA®.
These are the successor compilers to the PGI compilers aka the Portland Compiler Suite
All managed Linux workstations.
Compute clusters with recent enough operating systems.
Load the appropriate module. The name of the module is nvhpc. You can see all the available versions with module av nvhpc. You can easily switch between different versions (see the modules documentation for details). The module cannot be loaded at the same time as the pgi module, as they are actually the same piece of software: Nvidia bought the PGI compilers and rebranded them.
The actual compilers are called nvfortran, nvc, and nvc++ . The old PGI compiler names still work too.
A slightly different version of the module, nvhpc-cuda, is available for those who want to use CUDA acceleration. This is only useful if you have access to an Nvidia GPU to run the code on.
The compilers have several built in versions of Nvidia's CUDA library for running code on GPUs available. If you compile on a machine with a GPU the compiler will automatically select a version of CUDA that is compatible with the detected GPU. However if you are compiling on a machine without a GPU (for example a cluster where the compute nodes have GPUs but the head node does not) then the latest CUDA available will be used automatically. If that's not what you wanted, override with the -gpu=cudaX.Y flag. Or compile on a compute node.
Because the compilers have built in versions of CUDA the nvcc CUDA compiler is also available when they're loaded. However the version of nvcc that comes as part of the Nvidia HPC SDK doesn't have an easy way to select which CUDA version to use; if you need to use nvcc it's easier to control things by using the version from one of the 'cuda' modules instead.
The compiler comes with manpages. You may need to load the module to make the manpage available. However most of the documentation is on the web at https://docs.nvidia.com/hpc-sdk/index.html
Installed via spack