Software Diagnostics with NVIDIA Nsight Compute

NVIDIA Nsight Compute is an interactive kernel profiler for CUDA applications. It provides detailed performance metrics and API debugging via a user interface and command line tool.

Methods of Installation:

  • You can Load NVIDIA Nsight Compute with any version of CUDA as a module (recommended method)

  • You can install on your local machine and run on a remote server.

Load NVIDIA Nsight Compute as a Module

Nvidia Nsight Compute is available in all versions of CUDA available on PSMN servers.

Load the module for the CUDA version of your choice

module use /applis/PSMN/debian11/E5/modules/all
module load CUDA/12.4.0

Navigate to the Nsight Compute folder

cd /applis/PSMN/debian11/E5/software/CUDA/12.4.0/nsight-compute-2024.1.0

To run nsight compute command line interface from any machine ./ncu

To run nsight compute graphical user interface from a visual machine ./ncu-ui

Installing NVIDIA Nsight Compute on your local machine

You may download the version of Nsight Compute for your system at: https://developer.nvidia.com/tools-overview/nsight-compute/get-started

Note

You will likely be required to create an account with NVIDIA in order to download Nsight Compute.

Nsight Compute permits access to remote servers via proxy jump. Therefor, you may install Nsight Compute on your workstation and run it on a remote machine.

In order to use this method be sure the .ssh/config on your local machine is configured for a proxyjump.

Hostname r730gpu01
User $mylogin
Proxyjump allo-psmn  # from inside ENS network

(mylogin corresponding to your login at PSMN)

  • Navigate to the Nsight Compute folder and launch the GUI.

user@localmachine:~/NVIDIA-Nsight-Compute-2024.3$ ./ncu-ui &

Configure a New Remote Connection:

  • Choose Start Activity
    • Connection: Click +

  • Target Platform
    • Choose Linux (x86_64)

  • Add Remote Connection
    • Authentication Mode : Private Key

    • Enable TCP Tunnelling: Select

    • IP/Hostname: r730gpu01

    • ADD

Tip

Be sure to use the same hostname that is in your .ssh/config file!