93a79eb99a08ff50564aec0ae38b64e6d137d035
This issue happens when we have slices that have overlapping timestamp values (i.e. start_ts + dur = start_ts of next slice) and the flow event references that shared timestamp value. The google chrome parser sorts all the events and just taking the most recent one. Rocprof is outputting flow attachment points as start+dur; the end ts of the slice that can overlap with the next slice if no gap between them. Solution proposal by Michael Steffen (Michael.Steffen@amd.com) Change-Id: Ifcde142144033c9012b01a78c95f047384f972dd
ROC Profiler library. Profiling with metrics and traces based on perfcounters (PMC) and traces (SPM). Implementation is based on AqlProfile HSA extension. Library supports GFX8/GFX9. The library source tree: - doc - Documentation - inc/rocprofiler.h - Library public API - src - Library sources - core - Library API sources - util - Library utils sources - xml - XML parser - test - Library test suite - ctrl - Test controll - util - Test utils - simple_convolution - Simple convolution test kernel Build environment: Roctracer & Rocprofiler need to be installed in the same directory. $ export CMAKE_PREFIX_PATH=<path to hsa-runtime includes>:<path to hsa-runtime library> $ export CMAKE_BUILD_TYPE=<debug|release> # release by default $ export CMAKE_DEBUG_TRACE=1 # 1 to enable debug tracing To build with the current installed ROCM: $ cd .../rocprofiler $ export CMAKE_PREFIX_PATH=/opt/rocm/include/hsa:/opt/rocm $ mkdir build $ cd build $ cmake .. $ make To run the test: $ cd .../rocprofiler/build $ export LD_LIBRARY_PATH=.:<other paths> # paths to ROC profiler and oher libraries $ export HSA_TOOLS_LIB=librocprofiler64.so # ROC profiler library loaded by HSA runtime $ export ROCP_TOOL_LIB=test/libtool.so # tool library loaded by ROC profiler $ export ROCP_METRICS=metrics.xml # ROC profiler metrics config file $ export ROCP_INPUT=input.xml # input file for the tool library $ export ROCP_OUTPUT_DIR=./ # output directory for the tool library, for metrics results file 'results.txt' and trace files $ <your test> Internal 'simple_convolution' test run script: $ cd .../rocprofiler/build $ run.sh To enabled error messages logging to '/tmp/rocprofiler_log.txt': $ export ROCPROFILER_LOG=1 To enable verbose tracing: $ export ROCPROFILER_TRACE=1
Описание
Languages
C++
67.5%
C
20.6%
Python
6.6%
CMake
3.4%
Shell
0.6%
Разное
1.1%