prgenv-nvfortran¶
The prgenv-nvfortran
uenv provides a set of tools and libraries for building applications that need the NVIDIA Fortran compiler
Specifically, it is intended for building and running applications that require one of the following:
* OpenACC for GPU acceleration;
* CUDA Fortran for GPU acceleration.
Note
By default, use the prgenv-gnu
toolchain for a generic environment for building GPU applications.
It provides CUDA and libraries with GPU support enabled for the Grace-Hopper nodes, the gnu compiler toolchain that it provides has better C and C++ standards complianace, and it also provides more libraries and tools than this nvfortran
uenv.
Versioning¶
The naming scheme is prgenv-nvfortran/<version>:v<i>
, where <version>
matches the version of the NVIDIA HPC SDK.
- the SDK is released every two months, and is numbered in the
YY.M[M]
format, e.g.24.1
and24.11
. - the
prgenv-nvfortran
will be released three times a year (every second NVHPC release).
The currently supported versions are:
prgennv-nvhpc |
NVHPC |
---|---|
24.11 | 24.11 |
Version 24.11 provides the following software:
I need a different version
If you need a version of the NVHPC SDK that is not provided, e.g. the 25.1 version that falls between 24.11 and 25.4, make a request on the CSCS service desk.
How to use¶
The image is only provided on Alps systems that have NVIDIA GPUs. To see which versions have been installed on a system:
# search for uenv on the current system
uenv image find prgenv-nvfortran
# search for uenv on all systems
uenv image find prgenv-nvfortran@*
# pull a version
uenv image find prgenv-nvfortran/24.11:v1
The nvfort view loads all of the packages into your environment (equivalent to loading all the modules at once):
The above example shows that the MPI compiler wrappers are using the underlying NVIDIA compiler. The following wrappers are available:
mpif77
mpif90
mpifort
And the following C/C++ wrapers are available:
mpicc
mpicxx
The modules view will start the uenv, and make a set of modules available:
> uenv start prgenv-nvfortran/24.11:v1 --view=nvfort,modules
> module avail
---------------------------- /user-environment/modules ----------------------------
aws-ofi-nccl/master libtree/3.1.1 ninja/1.12.1
cmake/3.30.5 lua/5.4.6 nvhpc/24.11
cray-mpich/8.1.30 lz4/1.10.0 nvpl-blas/0.3.0
cuda/12.6.0 meson/1.5.1 nvpl-lapack/0.2.3.1
fftw/3.3.10 nccl-tests/2.13.6 osu-micro-benchmarks/5.9
fmt/11.0.2 nccl/2.22.3-1 python/3.12.5
gcc/13.2.0 netcdf-c/4.9.2 zlib-ng/2.2.1
hdf5/1.14.5 netcdf-fortran/4.6.1
None of the modules are loaded by default, so you will have to load the required modules