NVHPC, or NVIDIA HPC SDK, C, C++, and Fortran compilers support GPU acceleration of HPC modeling and simulation applications with standard C++ and Fortran, OpenACC® directives, and CUDA®. GPU-accelerated math libraries maximize performance on common HPC algorithms, and optimized communications libraries enable standards-based multi-GPU and scalable systems programming. Performance profiling and debugging tools simplify porting and optimization of HPC applications, and containerization tools enable easy deployment on-premises or in the cloud. Nsight Systems (nsys) and Nsight Compute (ncu) are available through the NVHPC. With support for NVIDIA GPUs and Arm, OpenPOWER, or x86-64 CPUs running Linux, the HPC SDK provides the tools you need to build NVIDIA GPU-accelerated HPC applications.
Availability and Restrictions
Versions
The versions currently available at OSC are:
| Versions | Pitzer | Ascend | Cardinal |
|---|---|---|---|
| 24.11 | X | X | X |
| 25.1 | X | X | X* |
* Current Default Version
You can use module spider nvhpc to view available modules for a given machine. Feel free to contact OSC Help if you need other versions for your work.
Access
NVHPC is available to all OSC users. If you have any questions, please contact OSC Help.
Publisher/Vendor/Repository and License Type
NVIDIA, Please review the license agreement carefully before use.
GPU Profiling with Nsight Tools
About
Nsight Systems (nsys) and Nsight Compute (ncu) are available through the NVHPC module. Nsight Systems provides a system-wide view of application performance to help identify bottlenecks across CPUs and GPUs. Nsight Compute offers detailed analysis of GPU kernels, allowing you to inspect and optimize performance in GPU-accelerated applications.
Usage
Nsys and ncu are available after loading the nvhpc module. To load a particular NVHPC version, use module load nvhpc/version. For example, use module load nvhpc/25.1 to load NVHPC 25.1.
In order to use Nsight profiling tools (e.g., nsys, ncu), you must disable the GPU monitoring service (DCGM) that OSC runs by default on GPU nodes. This is because both tools require access to GPU performance counters. You can disable DCGM and use Nisght by adding Slurm option --gres=nsight
Example Job with Nsight
#!/bin/bash #SBATCH --account=<PROJECT_ID> #SBATCH --job-name=nsight_test #SBATCH --nodes=1 #SBATCH --time=00:10:00 #SBATCH --gpus-per-node=1 # Disable DCGM to use Nsight #SBATCH --gres=nsight # Load Nsight via NVHPC module load nvhpc/25.1 # (Optional) load CUDA if your app needs it # module load cuda/<version> # Run profiling nsys profile --output=nsight_report_%j ./your_gpu_application