Install Nvidia HPC C, C++, Fortran compilers
The free-to-use
Nvidia HPC SDK
offers possible speed improvements and
CUDA Fortran.
A typical reason for using Nvidia HPC SDK is the Cuda GPU features.
Nvidia HPC compilers support C11, C++23, and partial Fortran 2008 including submodule
and error stop
.
Download and install Nvidia HPC SDK. Create a script nvidia.sh:
To use NVIDIA HPC SDK, source the script:
source ~/nvidia.sh
CMake
In CMake, set NVIDIA HPC
compiler-specific options
in CMakeLists.txt
like:
if(CMAKE_Fortran_COMPILER_ID STREQUAL "NVHPC")
add_compile_options($<$<COMPILE_LANGUAGE:Fortran>:-Mdclchk;-Munixlogical>)
endif()
To use newer languages standard features ensure the underlying GCC toolchain is set to a new-enough compiler as per Nvidia HPC SDK documentation. The compiler path can be determined on RHEL-like Linux distros like:
scl enable gcc-toolset-12 "dirname $(which g++)"
If using a CMake toolchain file, instead of CXXFLAGS environment variable, one can set
set(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN "/opt/rh/gcc-toolset-12/root/usr/")