A plugin library for rocprofiler-sdk: https://github.com/ROCm/rocm-systems/tree/develop/projects/rocprofiler-sdk
Thread trace is a profiling method that provides fine-grained insight into GPU kernel execution by collecting detailed traces of shader instructions executed by the GPU. This feature captures GPU occupancy, instruction execution times, fast performance counters, and other detailed performance data. Thread trace utilizes GPU hardware instrumentation to record events as they happen, resulting in precise timing information about wave (threads) execution behavior.
This library is responsible for transforming thread trace binary data (.att) into a tool consumable format.
rocprofv3 --att -- ./a.outBy default, rocprofv3 searches LD_LIBRARY_PATH and the rocprofiler-sdk install location, normally /opt/rocm/lib. For custom install locations, use
rocprofv3 --att --att-library-path /path/to/lib -- ./a.outFor information on how to generate thread trace data, see the documentation on using rocprofv3 to collect thread trace
Rocprofiler-sdk requires the library path to be provided at resource creation:
rocprofiler_thread_trace_decoder_handle_t decoder{};
# Notes: Passing null string "" searches in LD_LIBRARY_PATH. Passing nullptr is not allowed.
auto status = rocprofiler_thread_trace_decoder_create(&decoder, "/opt/rocm/lib");For more API information, see the ROCm docs, SDK Samples and SDK API
- AMD Radeon: 6000, 7000, 9000 series
- AMD Instinct: MI200 and MI300 series
- Headers are provided under the MIT license.
- The .so and .dylib binaries use a custom LICENSE