# ROC-tracer ``` ROC-tracer library, Runtimes Generic Callback/Activity APIs. The goal of the implementation is to provide a generic independent from specific runtime profiler to trace API and asyncronous activity. The API provides functionality for registering the runtimes API callbacks and asyncronous activity records pool support. ``` The library source tree: - inc/roctracer.h - Library public API - src - Library sources - core - Library API sources - util - Library utils sources - test - test suit - MatrixTranspose - test based on HIP MatrixTranspose sample ## Documentation ``` - API description: inc/roctracer.h - Code exaple: test/MatrixTranspose/MatrixTranspose.cpp ``` ## To build and run test ``` cd - CLone roctracer and custom branches of HIP/HCC: git clone -b amd-master https://github.com/ROCmSoftwarePlatform/roctracer.git git clone -b roctracer-hip-frontend-180826 https://github.com/eshcherb/HIP.git git clone --recursive -b roctracer-hip-frontend-180823 https://github.com/eshcherb/hcc.git - Set environment: export HIP_PATH=/HIP export HCC_PATH=/hcc export HCC_HOME=/hcc/build export CMAKE_PREFIX_PATH=/opt/rocm/lib:/opt/rocm/include/hsa - Build HCC: cd /hcc && mkdir build && cd build cmake -DUSE_PROF_API=1 -DPROF_API_HEADER_PATH=/roctracer/inc/roctracer .. make -j - Build HIP: cd /HIP && mkdir build && cd build cmake -DUSE_PROF_API=1 -DPROF_API_HEADER_PATH=/roctracer/inc/roctracer .. make -j ln -s HIP/build HIP/lib - Build ROCtracer cd /roctracer && mkdir build && cd build && cmake .. && make -j - To run test make mytest or cd /roctracer/test/MatrixTranspose make set test iterations number, 100 by default export ITERATIONS= ```