Skip to content
/ roctracer Public

ROCm Tracer Callback/Activity Library for Performance tracing AMD GPUs

License

Notifications You must be signed in to change notification settings

ROCm/roctracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

228cd05 · May 21, 2024
May 21, 2024
Aug 17, 2023
Jan 3, 2024
Nov 8, 2023
Jan 3, 2024
Feb 29, 2024
May 14, 2024
May 20, 2022
May 20, 2022
Aug 21, 2023
Feb 7, 2024
Jan 26, 2022
Nov 16, 2022
Apr 1, 2024
May 21, 2022
Apr 19, 2022
Mar 10, 2023
Jan 17, 2023
Jun 16, 2022

Repository files navigation

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

    API header.

  • /opt/rocm/lib/libroctx64.so

    .so library.

Library source tree

  • doc

    Documentation.

  • inc

    Include header files.

    • roctracer.h

      rocTacer 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
    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
    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