CUDA Profiler Tools Interface (CUPTI) 12.9 is now available

CUDA Profiler Tools Interface (CUPTI) 12.9 is now available for download in the NVIDIA Registered Developer Program.

The NVIDIA CUDA Profiler Tools Interface (CUPTI), distributed as part of the CUDA Toolkit, is a library that enables the creation of profiling and tracing tools that target CUDA applications. CUPTI provides a set of APIs targeted at ISVs creating profilers and other performance optimization tools:
  • the Activity API,
  • the Callback API,
  • the Host Profiling API,
  • the Range Profiling API,
  • the PC Sampling API,
  • the SASS Metric API,
  • the PM Sampling API,
  • the Checkpoint API,
  • the Profiling API,
  • the Event API,
  • the Metric API, and
  • the Python API (available separately)
Using these CUPTI APIs, independent software developers can create profiling tools that provide low and deterministic profiling overhead on the target system, while giving insight into the CPU and GPU behavior of CUDA applications.

Updates in CUDA Toolkit 12.9 Update 1

    Resolved Issues
    • Report the green context ID in the graph-level trace when graphs are launched from the host under a green context, instead of reporting the primary context ID.
    • Update the CUPTI API version CUPTI_API_VERSION for CUDA Update releases.
    • Include the required NVTX headers in the header file generated_nvtx_meta.h.

Updates in CUDA Toolkit 12.9

    New Features
    • In confidential computing, rotating a key is a high-impact operation that halts all traffic using that key. During the key rotation, channels sharing the key will be drained and will not accept new CUDA work until the rotation completes. However, this process is not directly visible to user applications. CUPTI offers additional feedback to tools, allowing users to account for their impact on application timelines. The struct CUpti_ActivityConfidentialComputeRotation provides timestamps for each stage of the encryption rotation, while the enum CUpti_ConfidentialComputeRotationEventType lists the supported stages.
    • For Orin+ mobile chips on the Linux aarch64 platform, added metrics (mcc__*) support for memory controller channel (MC Channel) unit which connects to the DRAM.
    • A new attribute CUPTI_ACTIVITY_ATTR_DEVICE_BUFFER_SIZE_DEVICE_GRAPHS is added in the activity attribute enum CUpti_ActivityAttribute to set and get the size for the profiling buffer for device graph operations.
    Resolved Issues
    • Decoupled activity kinds CUPTI_ACTIVITY_KIND_CUDA_EVENT and CUPTI_ACTIVITY_KIND_SYNCHRONIZATION. Previously, enabling one of these activities would automatically enable the capturing of records for the other.
    • Fixed a crash when the client fails to provide a buffer in response to the activity buffer request callback issued by CUPTI. This condition is notified to the client using the CUPTI_CB_DOMAIN_STATE callback.
    • The callback CUPTI_CBID_RESOURCE_MODULE_PROFILED is issued regardless of whether kernel tracing is enabled.

Getting Started

Latest PRODUCT INFO

1 Like