Some records may need to point to data with the same lifetime as the records themselves. One solution is to store the data at the end of the memory pool buffer. Records in the buffer grow up, and the data grows down. When the buffer is flushed both records and data are recycled. Change-Id: I278fa84478236bf895f7c2d152d47d4256987392
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 asynchronous activity.
The API provides functionality for registering the runtimes API callbacks and asynchronous activity records pool support.
-
ROC-TX library: Code Annotation Events API
Includes API for:
roctxMarkroctxRangePushroctxRangePop
Usage
rocTracer API
To use the rocTracer API you need the API header and to link your application with roctracer .so library:
-
/opt/rocm/include/roctracer/roctracer.hAPI header.
-
/opt/rocm/lib/libroctracer64.so.so library.
rocTX API
To use the rocTX API you need the API header and to link your application with roctx .so library:
-
/opt/rocm/roctracer/include/roctx.hAPI header.
-
/opt/rocm/lib/libroctx64.so.so library.
Library source tree
-
docDocumentation.
-
incInclude header files.
-
roctracer.hrocTacerlibrary public API header. -
roctx.hrocTXlibrary public API header.
-
-
srcLibrary sources.
-
corerocTracerlibrary API sources. -
roctxrocTXlibrary API sources. -
utilLibrary utils sources.
-
-
testTest suit.
-
MatrixTransposeTest based on HIP MatrixTranspose sample.
-
Documentation
- API description:
- Code examples:
Build and run tests
-
ROCm is required
-
Packages required:
- For Ubuntu 18.04 and Ubuntu 20.04 the following adds the needed packages:
apt install python3 python3-pip gcc g++ libatomic1 make \ cmake doxygen graphviz texlive-full- For CentOS 8.1 and RHEL 8.1 the following adds the needed packages:
yum install -y python3 python3-pip gcc gcc-g++ make \ cmake libatomic doxygen graphviz texlive \ texlive-xtab texlive-multirow texlive-sectsty \ texlive-tocloft texlive-tabu texlive-adjustbox- For SLES 15 Service Pack 15 the following adds the needed packages:
zypper in python3 python3-pip gcc gcc-g++ make \ cmake libatomic doxygen graphviz \ texlive-scheme-medium texlive-hanging texlive-stackengine \ texlive-tocloft texlive-etoc texlive-tabu -
Python modules requirements:
CppHeaderParser,argparse.To install:
pip3 install CppHeaderParser argparse -
Clone development branch of
roctracer:git clone -b amd-master https://github.com/ROCm-Developer-Tools/roctracer -
To build
roctracerlibrary:cd <your path>/roctracer ./build.sh -
To build and run test:
cd <your path>/roctracer/build make mytest run.sh
Installation
Install by:
make install
or:
make package && dpkg -i *.deb