Working using PR #940 and more specifically, roctrace, I found out that the timers logged by SIRIUS itself can be used as regions in Perfetto, as shown below:
However, the rocprof post-processing script crashes
/opt/rocm-5.2.3/libexec/rocprofiler/tblextr.py: range id(2) is not found
Profiling data corrupted: './tmp/rpl_data_240212_125625_55109/input_results_240212_125625/'
That's because 3 timers are outside of the scope of rocprof:
Instead of tracing the whole application or test, a smaller session can be traced as shown in Tracing Control for API or Code Block sesion of ROCm Docs
Working using PR #940 and more specifically,
roctrace
, I found out that the timers logged by SIRIUS itself can be used asregions
in Perfetto, as shown below:However, the
rocprof
post-processing script crashesThat's because 3 timers are outside of the scope of
rocprof
:PROFILE_START("sirius")
linkPROFILE("sirius::initialize")
linkPROFILE_STOP("sirius")
linkOut of scope meaning that the log of
rocprof
only logs aSTOP
but the correspondingSTART
is missing.Quick solution to enable tracing was to comment-out the three above timer lines.