ROCProfiler API library#
The ROCProfiler library provides profiling and tracing APIs for GPU compute applications.The APIs offer functionalities for profiling GPU applications in kernel, application, and user mode. The APIs also support no replay mode and provides the records pool support through a simple sequence of calls. This enables users to profile and trace in small steps. The sample codes demonstrate how to use the API calls for both profiling and tracing.
Supported AMD GPU architectures
Here is the list of supported AMD GPU architectures:
- gfx900 (AMD Vega 10)
- gfx906 (AMD Vega 7nm also referred to as AMD Vega 20)
- gfx908 (AMD Instinct™ MI100 accelerator)
- gfx90a (Aldebaran)
- gfx94x (AMD Instinct™ MI300)
- gfx1010 (Navi10)
- gfx1011 (Navi12)
- gfx1012 (Navi14)
- gfx1030 (Sienna Cichlid)
- gfx1031 (Navy Flounder)
- gfx1032 (Dimgrey Cavefish)
- gfx1100 (Navi31)
Known limitations and restrictions
The AMD Profiler API library implementation has the following restrictions. Future releases aim to address these restrictions.
The following profiling modes are not yet implemented:
- ::ROCPROFILER_APPLICATION_REPLAY_MODE
- ::ROCPROFILER_USER_REPLAY_MODE
While setting filters, properties can mix up and might produce undesirable results.
This document discusses the following:
- Symbol Versions
- Library Versioning
- Status Codes
- General ROCProfiler Requirements
- Timestamp Operations
- General Records Type
- Profiling Part Handling
- Tracer Part Handling
- roctx_tracer_api_data_group
- hsa_tracer_api_data_group
- hip_tracer_api_data_group
- Memory Storage Buffer
- ROCProfiler Sessions
- Session Filters Handling
- session_range_group
- session_user_replay_pass_group
- Device Profiling API
- rocprofiler_plugins