Xianwei Zhang 8b445d2c00 test: add tests to validate cache/mem blocks
To validate cache and memory blocks profiling, this patch prepares
tests to profile dedicated kernels using specified counters, to
compare the profiled results against expected ones, and further
show the test is a fail or pass.  Tests here are focusing on cache
hit/miss, memory fetch/write size.

Change-Id: Icbc8096a6e15256dec66297597a57c7665a533b8
2019-07-16 12:39:38 -05:00
2019-07-15 15:08:51 -05:00
2019-06-04 05:07:19 -05:00
2018-06-15 10:53:06 -05:00
2019-06-04 05:07:19 -05:00
2019-07-16 09:20:53 -07:00
2018-07-06 18:25:55 -05:00
2019-06-04 05:07:19 -05:00
2018-04-29 03:24:46 -05:00

ROC Profiler library.
Profiling with metrics and traces based on perfcounters (PMC) and traces (SQTT, PMC).
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:

$ 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
$ mkdir build
$ cd build

$ export CMAKE_PREFIX_PATH=/home/evgeny/git/compute/out/ubuntu-16.04/16.04
$ cmake ..
$ make

or

$ cmake -DCMAKE_PREFIX_PATH=/opt/rocm ..
$ 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 SQTT trace files 'thread_trace.se<n>.out'
$ <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
S
Popis
Nebyl uveden žádný popis
Readme 282 MiB
Jazyky
C++ 67.5%
C 20.6%
Python 6.6%
CMake 3.4%
Shell 0.6%
Jiný 1.1%