3 NVIDIA Grace-Hopper nodes (GH200 480) are now available. See Using Bede for more information.

NVIDIA Tools Extension

NVIDIA Tools Extension#

NVIDIA Tools Extension (NVTX) is a C-based API for annotating events and ranges in applications. These markers and ranges can be used to increase the usability of the NVIDIA profiling tools.

  • For CUDA >= 10.0, NVTX version 3 is distributed as a header only library.

  • For CUDA <  10.0, NVTX is distributed as a shared library.

The location of the headers and shared libraries may vary between Operating Systems, and CUDA installation (i.e. CUDA toolkit, PGI compilers or HPC SDK).

On Bede, nvToolsExt is provided by the CUDA and NVHPC modules:

module load cuda
module load nvhpc

The NVIDIA Developer blog contains several posts on using NVTX:

CMake support#

From CMake 3.17, the `FindCUDAToolkit <https://cmake.org/cmake/help/git-stage/module/FindCUDAToolkit.html>`_ can be used to find the tools extension and select the appropriate include directory. If support for older CMake versions is required custom find_package modules can be used, e.g. ptheywood/cuda-cmake-NVTX on GitHub.