NVIDIA Performance Libraries

The NVIDIA Performance Libraries (NVPL) are a collection of high performance mathematical libraries optimized for the NVIDIA Grace Armv9.0 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 the Grace platform.

Libraries Documentation

Installation

System Support

  • Architecture: aarch64-linux

  • Platform: Arm SBSA

CPUs Supported

OS Support

  • AmazonLinux: 2, 2023

  • Debian: 12

  • Fedora: 37. 38, 39, 40

  • RHEL: RHEL8, RHEL9

  • SLES: SLES15

  • Ubuntu: 20.04, 22.04, 24.04

  • Generally any Linux OS with support for aarch64

Compiler Support

Languages

  • C: All libraries

  • C++: All libraries via C interfaces

  • Fortran: Selected libraries

    • GFortran ABI

    • NVPL BLAS, LAPACK, and ScaLAPACK provide lp64 and ilp64 integer ABIs

    • See individual libraries documentation for further details

OpenMP

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

NVPL provides standard BLACS interfaces for the following MPI distributions. See the NVPL ScaLAPACK Documentation for details.