2. Library Support

CUPTI can be used to profile CUDA applications, as well as applications that use CUDA via NVIDIA or third-party libraries. For most such libraries, the behavior is expected to be identical to applications using CUDA directly. However, for certain libraries, CUPTI has certain restrictions, or alternate behavior.

2.1. OptiX

CUPTI supports profiling of OptiX applications, but with certain restrictions.

  • Internal Kernels

    Kernels launched by OptiX that contain no user-defined code are given the generic name NVIDIA internal. CUPTI provides the tracing information for these kernels but these cannot be profiled i.e we cannot collect events, metrics and PC sampling data.

  • User Kernels

    Kernels launched by OptiX can contain user-defined code. OptiX identifies these kernels with a custom name. This name starts with raygen__ (for "ray generation"). These kernels can be traced and profiled by CUPTI.