NVIDIA
NVIDIA
NVIDIA HPC-Benchmarks
Container
NVIDIA
NVIDIA
NVIDIA HPC-Benchmarks

The NVIDIA HPC-Benchmarks collection provides four accelerated HPC benchmarks: HPL-NVIDIA, HPL-MxP-NVIDIA, HPCG-NVIDIA, and STREAM.

NVIDIA HPC-Benchmarks 26.02

The NVIDIA HPC-Benchmarks collection provides four benchmarks (HPL, HPL-MxP, HPCG, and STREAM) widely used in the HPC community optimized for performance on NVIDIA accelerated HPC systems.

NVIDIA's HPL and HPL-MxP benchmarks provide software packages to solve a (random) dense linear system in double precision (64-bit) arithmetic and in mixed precision arithmetic using Tensor Cores, respectively, on distributed-memory computers equipped with NVIDIA GPUs, based on the Netlib HPL benchmark and HPL-MxP benchmark.

NVIDIA's HPCG benchmark accelerates the High Performance Conjugate Gradients (HPCG) Benchmark. HPCG is a software package that performs a fixed number of multigrid preconditioned (using a symmetric Gauss-Seidel smoother) conjugate gradient (PCG) iterations using double precision (64-bit) floating point values.

NVIDIA's STREAM benchmark is a simple synthetic benchmark program that measures sustainable memory bandwidth. NVIDIA HPC-Benchmarks container includes STREAM benchmarks optimized for NVIDIA Ampere GPU architecture (sm80), NVIDIA Hopper GPU architecture (sm90), NVIDIA Blackwell GPU architecture (sm100/sm103), and NVIDIA Grace CPU.

The NVIDIA HPC Benchmark package includes microbenchmarks designed to assess system readiness before running large-scale benchmarks.

Container packages

The NVIDIA HPC-Benchmarks collection provides a multiplatform (x86 and aarch64) container image hpc-benchmarks:26.02 based on NVIDIA Optimized Frameworks 26.01 container image.

The HPC benchmarks package stores open-source code inside the container at /workspace/open_source/, in addition to the DLFW open source code.

In addition to NVIDIA Optimized Frameworks 26.02 container images, the hpc-benchmarks:26.02 container image is provided with the following packages embedded:

  • NVIDIA HPL 26.02
  • NVIDIA HPL-MxP 26.02
  • NVIDIA HPCG 26.02
  • NVIDIA STREAM 26.02
  • NVIDIA NVSHMEM 3.5.19
  • NVIDIA NVPL 25.1

NVIDIA HPC-Benchmarks for MPI libraries that are ABI-compatible with MPICH (e.g., MPICH, Cray MPICH, MVAPICH, etc.) and OpenMPI available on NVIDIA.DEVELOPER.

Prerequisites

Using the NVIDIA HPC-Benchmarks Container requires the host system to have the following installed:

For supported versions, see the Framework Containers Support Matrix and the NVIDIA Container Toolkit Documentation

The NVIDIA HPC-Benchmarks Container supports the NVIDIA Ampere GPU architecture (sm80), the NVIDIA Hopper GPU architecture (sm90), the NVIDIA Blackwell GPU architecture (sm100/sm103). This version of the container supports clusters featuring DGX A100, DGX H100, DGX B200/B300, NVIDIA Grace Hopper, NVIDIA Grace Blackwell NVL, and NVIDIA Grace CPU nodes. Previous GPU generations are not expected to be compatible.

Notes:

  • (G)B300 (sm103) has low native FP64 throughput, therefore, the performance of the NVIDIA HPL Benchmark on this hardware is expected to be low
  • The NVIDIA HPL benchmark does not support FP64 emulation on (G)B300

NVIDIA HPC-Benchmarks documentation

The NVIDIA HPC-Benchmarks documentation is available on NVIDIA Documentation Hub.

Running with Pyxis/Enroot

The examples below use Pyxis/enroot from NVIDIA to facilitate running HPC-Benchmarks Containers. Note that an enroot .credentials file is necessary to use these NGC containers.

To copy and customize the sample Slurm scripts and/or sample HPL.dat/hpcg.dat files from the containers, run the container in interactive mode, while mounting a folder outside the container, and copy the needed files, as follows:

CONT='nvcr.io#nvidia/hpc-benchmarks:26.02'
MOUNT="$PWD:/home_pwd"

srun -N 1 --cpu-bind=none --mpi=pmix \
     --container-image="${CONT}" \
     --container-mounts="${MOUNT}" \
     --pty bash

Once inside the container, copy the needed files to /home_pwd.

NVIDIA HPL, NVIDIA HPL-MxP, NVIDIA HPCG and NVIDIA STREAM Benchmarks with support of GPU

Examples of NVIDIA HPL run

Several sample input files are available in the container at /workspace/hpl-linux-x86_64 or /workspace/hpl-linux-aarch64-gpu.

To run NVIDIA HPL on nodes 8 with 8 GPUs using provided sample HPL-64GPUs.dat files:

CONT='nvcr.io#nvidia/hpc-benchmarks:26.02'

srun -N 8 --ntasks-per-node=8 --cpu-bind=none --mpi=pmix \
     --container-image="${CONT}" \
     ./hpl.sh --dat /workspace/hpl-linux-x86_64/sample-dat/HPL-64GPUs.dat
Examples of NVIDIA HPL-MxP run

To run NVIDIA HPL-MxP on 4 nodes, each node with 4 GPUs:

CONT='nvcr.io/nvidia/hpc-benchmarks:26.02'

srun -N 4 --ntasks-per-node=4 \
     --container-image="${CONT}" \
     ./hpl-mxp.sh --n 280000 --nb 2048 --nprow 4 --npcol 4 --nporder row --gpu-affinity 0:1:2:3 --cpu-affinity 0-55:56-111:112-167:168-223

Pay special attention to CPU cores affinity/binding, as it greatly affects the performance of the HPL benchmarks.

Examples of NVIDIA HPCG run

Several sample input file are available in the container at /workspace/hpcg-linux-x86_64 or /workspace/hpcg-linux-aarch64

To run NVIDIA HPCG on a single node with 8 GPUs using your custom hpcg.dat file on x86:

CONT='nvcr.io/nvidia/hpc-benchmarks:26.02'
MOUNT="/path/to/your/custom/dat-files:/my-dat-files"

srun -N 1 --ntasks-per-node=8 --cpu-bind=none --mpi=pmix \
     --container-image="${CONT}" \
     --container-mounts="${MOUNT}" \
     ./hpcg.sh --dat /my-dat-files/hpcg.dat

To run NVIDIA HPCG on nodes 16 with 4 GPUs using script parameters on x86:

CONT='nvcr.io/nvidia/hpc-benchmarks:26.02'
MOUNT="/path/to/your/custom/dat-files:/my-dat-files"

srun -N 16 --ntasks-per-node=4 --cpu-bind=none --mpi=pmix \
     --container-image="${CONT}" \
     --container-mounts="${MOUNT}" \
     ./hpcg.sh --nx 512 --ny 512 --nz 256 --rt 2 --cpu-affinity 0-55:56-111:112-167:168-223 --mem-affinity 0:0:1:1

Examples of NVIDIA STREAM run

To run NVIDIA STREAM for GPU on the device 1 and the number of elements in arrays 10000000. Note: it's recommended to use default value of the number of elements in arrays. The value above is for demonstration only.

CONT='nvcr.io/nvidia/hpc-benchmarks:26.02'

srun -N 1 --ntasks-per-node=4 --cpu-bind=none --mpi=pmix \
     ./stream-gpu-test.sh --d 1 --n 10000000

NVIDIA HPL, NVIDIA HPL-MxP, and NVIDIA HPCG for NVIDIA Grace CPU

Examples of NVIDIA HPL run

Several sample input files are available in the container at /workspace/hpl-linux-aarch64.

To run NVIDIA HPL on two nodes of NVIDIA Grace CPU using your custom HPL.dat file:

CONT='nvcr.io#nvidia/hpc-benchmarks:26.02'
MOUNT="/path/to/your/custom/dat-files:/my-dat-files"

srun -N 2 --ntasks-per-node=2 --cpu-bind=none --mpi=pmix \
     --container-image="${CONT}" \
     --container-mounts="${MOUNT}" \
     ./hpl-aarch64.sh --dat /my-dat-files/HPL.dat --cpu-affinity 0-71:72-143 --mem-affinity 0:1

Examples of NVIDIA HPL-MxP run

To run NVIDIA HPL-MxP on a 4 node of NVIDIA Grace Hopper x4:

CONT='nvcr.io/nvidia/hpc-benchmarks:26.02'

srun -N 4 --ntasks-per-node=4 \
     --container-image="${CONT}" \
     ./hpl-mxp-aarch64.sh --n 380000 --nb 2048 --nprow 4 --npcol 4 --nporder row \
     --cpu-affinity 0-71:72-143:144-215:216-287 \
     --mem-affinity 0:1:2:3
Examples of NVIDIA HPCG run

Sample input files are available in the container at /workspace/hpcg-linux-aarch64

To run NVIDIA HPCG on two nodes of NVIDIA Grace CPU using your custom parameters:

CONT='nvcr.io/nvidia/hpc-benchmarks:26.02'
MOUNT="/path/to/your/custom/dat-files:/my-dat-files"

srun -N 2 --ntasks-per-node=4 --cpu-bind=none --mpi=pmix \
     --container-image="${CONT}" \
     --container-mounts="${MOUNT}" \
     ./hpcg-aarch64.sh --exm 1 --nx 512 --ny 512 --nz 288 --rt 30 --cpu-affinity 0-35:36-71:72-107:108-143 --mem-affinity 0:0:1:1

To run NVIDIA HPCG on NVIDIA Grace Hopper x4 using script parameters on aarch64:

CONT='nvcr.io/nvidia/hpc-benchmarks:26.02'
MOUNT="/path/to/your/custom/dat-files:/my-dat-files"

# GPU + Grace (Heterogeneous execution)
# GPU rank has 8 OpenMP threads and Grace rank has 64 OpenMP threads
srun -N 2 --ntasks-per-node=8 --cpu-bind=none --mpi=pmix \
     --container-image="${CONT}" \
     --container-mounts="${MOUNT}" \
     ./hpcg-arch64.sh --nx 256 --ny 1024 --nz 288 --rt 2 \
     --exm 2 --ddm 2 --lpm 1 --g2c 64 \
     --npx 4 --npy 4 --npz 1 \
     --cpu-affinity 0-7:8-71:72-79:80-143:144-151:152-215:216-223:224-287 \
     --mem-affinity 0:0:1:1:2:2:3:3

Examples of NVIDIA STREAM run

To run NVIDIA STREAM for CPU on 72 threads and the number of elements in arrays 10000000. Note: it's recommended to use default value of the number of elements in arrays. The value above is for demonstration only.

CONT='nvcr.io/nvidia/hpc-benchmarks:26.02'

srun -N 1 --ntasks-per-node=4 --cpu-bind=none --mpi=pmix \
     ./stream-cpu-test.sh --t 144 --n 10000000

Known issues

  • Known performance issue with HPC-X 2.25 affects the MPI_Alltoall, MPI_Bcast, and MPI_Allgather operations, which may impact HPL and HPL-MxP performance. Refer to the HPC-X 2.25 release notes for workarounds to resolve this issue.

Resources

Support

License

By pulling and using the container, you accept the terms and conditions of this End User License Agreement and Product-Specific Terms.

Publisher
NVIDIA
NVIDIA
Latest Tag26.02
UpdatedMarch 23, 2026 UTC
Compressed Size6.06 GB
Multinode SupportYes
Multi-Arch SupportYes