What is ROCProfiler?

What is ROCProfiler?#

ROCProfiler is a powerful tool for profiling HIP and ROCm applications on AMD ROCm software. Profiling is used to identify performance bottlenecks in applications and to optimize their performance. ROCProfiler provides command-line tools for profiling precompiled applications. The ROCProfiler tool is implemented using the ROCProfiler and ROCTracer libraries, and provides two primary features to profile GPU-based applications or kernels:

  • Application tracing: This basic feature of the ROCProfiler is used to trace the execution of an application, with timestamps for the start and end of each API call, and kernel execution.

  • Performance counter collection: This feature collects performance counters for each API call and kernel execution.

The first version of ROCProfiler is named ROCProfiler while the second version is ROCProfilerV2. The two versions are similar in terms of basic functionalities offered, which are, application tracing and kernel profiling. However, there are differences between the ROCProfiler command-line tool rocprof and the ROCProfilerV2 command-line tool rocprofv2 in terms of additional functionalities, default outputs supported by the tools, and supported AMDGPUs.

To demonstrate the usage of both versions of ROCProfiler with various options, this document refers to the MatrixTranspose application as an example.