NVIDIA Performance Libraries#
The NVIDIA Performance Libraries (NVPL) are a collection of high performance mathematical libraries optimized for the NVIDIA Grace Armv9.0-A architecture.
These CPU-only libraries have no dependencies on CUDA or CTK, and are drop in replacements for standard C and Fortran mathematical APIs allowing HPC applications to achieve maximum performance on NVIDIA CPU platforms.
Libraries Documentation#
Installation#
Current release: NVPL-25.1.1
See: Install NVPL
System Support#
Architecture: aarch64-linux
Platform: Arm SBSA
CPU Support#
NVIDIA Grace (Armv9.0-A Neoverse-V2)
AWS Graviton 4 (Armv9.0-A Neoverse-V2)
AWS Graviton 3/3e (Armv8.4-A Neoverse-V1)
AWS Graviton 2 (Armv8.2-A Neoverse-N1)
Ampere Altra (Armv8.2-A Neoverse-N1)
Any CPU with Armv8.1-A or later architecture
OS Support#
The following OS versions are tested for all combinations of compiler, OpenMP, and MPI support. Generally any Linux OS for aarch64 should also be supported.
AmazonLinux: 2, 2023
Debian: 12
Fedora: 39, 40, 41
RHEL: RHEL8 (8.10), RHEL9 (9.5)
openSUSE/Leap: 15.6
SLES: SLES15 (15.6)
Ubuntu: 20.04, 22.04, 24.04, 24.10
Compiler Support#
GCC-8 - GCC-14+
Clang-14 - Clang-19+
Clang for NVIDIA Grace: 16.x, 17.x, 18.x, 19.x
NVIDIA HPC Compilers: 23.9 – 24.11
Language Support#
C: All libraries
C++: All libraries via C interfaces
Fortran: Selected libraries
GFortran ABI
NVPL BLAS, LAPACK, and ScaLAPACK provide
lp64
andilp64
integer ABIsSee individual libraries documentation for further details
Python#
Python packages with binary redistribution of NVPL libraries are available on both PyPI and Conda Forge. See: NVPL Python Usage for documentation
OpenMP Support#
All libraries support the following OpenMP runtime libraries. See individual libraries documentation for details and API extensions supporting nested parallelism.
GCC:
libgomp.so
Clang:
libomp.so
NVHPC:
libnvomp.so
Warning
NVPL Libraries do not explicitly link any particular OpenMP runtime, they rely on runtime loading of the OpenMP library as determined by the application and environment. Applications linked to NVPL should always use at runtime the same OpenMP distribution the application was compiled with. Mixing OpenMP distributions from compile-time to runtime may result in anomalous performance.
Warning
NVIDIA HPC modules provides a libgomp.so
symlink to libnvomp.so
. This symlink will be on LD_LIBRARY_PATH
if nvhpc environment modules are loaded. Use ldd to ensure that applications built with GCC do not accidentally load libgomp.so
symlink from HPC SDK due to LD_LIBRARY_PATH
. Use libnvomp.so
if and only-if the applications was built with nvhpc compilers.
MPI Support#
NVPL provides standard BLACS interfaces for the following MPI distributions. See the NVPL ScaLAPACK Documentation for details.
MPICH :
>=mpich-4.0
runtime supported.NVIDIA HPC-X via OpenMPI-4 interface