Install NVPL#

Install from OS Package manager#

NVPL Downloads provides instructions to configure package managers for all supported OS versions.

Users installing with OS package managers will not require any further configuration to use NVPL at build-time or runtime. CMake will find nvpl packages on the standard package search paths, and other build systems will find the headers and libraries also on standard paths.

Note

NVPL FFT provides fftw compatibility headers at /usr/include/nvpl_fft/. CMake users will automatically get these headers on their include path, but other build systems may need to add this include path to enable the compatibility headers. See NVPL FFT: Quick Start for details.

Install from tarball#

Two types of tarballs are available.

  1. Universal tarballs available by selecting Tarball distribution type on NVPL DevZone Downloads

  2. Individual library tarballs available from NVPL redist folder

Environment configuration#

Universal tarballs are the easiest to install and can be expanded to any location.

  • Set environment variable nvpl_ROOT to the root dir of the expanded tarball.

  • Ensure that ${nvpl_ROOT}/lib is added to LD_LIBRARY_PATH for runtime support

  • CMake will use the nvpl_ROOT environment variable to find the nvpl packages. See NVPL CMake Guide for details.

  • Non-CMake users should ensure ${nvpl_ROOT}/include is on CPATH and ${nvpl_ROOT}/lib is on LIBRARY_PATH for the compiler to find the necessary headers and shared libraries.

Individual library tarball usage#

The individual library tarballs are meant to be extracted under a common installation prefix, after stripping the top-level directory:

$ mkdir nvpl
$ tar xf nvpl_<lib>.tar.xz -C nvpl --strip-components=1

Individual NVPL libraries from the same release have different semantic version numbers.

  • See the redistrib_<VERS>.json files for the corresponding individual library versions from each NVPL release.

  • Users are recommended to select library versions from the same release series, mixing libraries across releases is not recommended.

  • Ensure all required NVPL dependencies are present: e.g., NVPL ScaLAPACK, requires NVPL LAPACK and NVPL BLAS.

  • CMake users will also want the nvpl-common tarball to enable NVPL CMake packages. Non-CMake users can safely omit nvpl-common.

  • Follow the same Environment configuration recommended for Universal tarballs.

Install from NVHPC SDK#

NVPL is bundled within the aarch64 build of NVIDIA HPC SDK Distributions. HPC SDK follows a bi-monthly release schedule and bundles the latest NVPL Public release available the previous month.

To use the bundled NVPL with NVHPC compilers:

$ module load nvhpc

And follow NVHPC compiler instructions for the NVPL

Install for Python#

See NVPL Python Usage.