文件
rocm-systems/projects/roctracer/README.md
T
Tim 7b27294298 Fix Issue [SWDEV-485618]: README Outdated: Include File
Changes to the README.md:
-Fixed the dead links in the examples.
-Updated the example to point to the ones in roctracer_spec.md instead of tests.

Changes to the roctracer_spec.md:
-Changed #include from #include <*.h> to #include <roctracer/*.h> to
reflect the latest code structure.

Change-Id: Iab44fc327821c1a01f0b949d3c9a3c20ca587599


[ROCm/roctracer commit: 725d289a2b]
2024-10-01 09:52:09 -04:00

3.2 KiB

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:

    • roctxMark
    • roctxRangePush
    • roctxRangePop

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.h

    API 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/include/roctracer/roctx.h

    API header.

  • /opt/rocm/lib/libroctx64.so

    .so library.

Library source tree

  • doc

    Documentation.

  • inc

    Include header files.

    • roctracer.h

      rocTracer library public API header.

    • roctx.h

      rocTX library public API header.

  • src

    Library sources.

    • core

      rocTracer library API sources.

    • roctx

      rocTX library API sources.

    • util

      Library utils sources.

  • test

    Test suit.

    • MatrixTranspose

      Test based on HIP MatrixTranspose sample.

Documentation

Build and run tests

  • ROCm is required

  • Packages required:

    1. 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 rocm-llvm-dev
    
    1. 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 rocm-llvm-devel
    
    1. 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 roctracer library:

    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