Skip to content

Releases: ROCm/omnitrace

v1.1.0: Bug Fixes, Strict Configs, Perfetto Label Overhaul

10 Jun 22:20
d4b8e25
Compare
Choose a tag to compare

What's Changed

  • Standalone build examples + testing workflow updates by @jrmadsen in #15
  • CMake updates/fixes + parallel-overhead updates by @jrmadsen in #16
  • New documentation page with youtube links to tutorials by @jrmadsen in #23
  • Update setup-env.sh and modulefile by @jrmadsen in #26
  • Fix perfetto_counter_track string lifetime by @jrmadsen in #28
  • Set OMNITRACE_USE_THREAD_SAMPLING=ON for several tests by @jrmadsen in #29
  • Fix category regex + new features by @jrmadsen in #25
  • Support strict settings option in timemory + expanded config syntax by @jrmadsen in #31
  • Rework sampling trace counter names + new trace counters by @jrmadsen in #30
  • Fix loop-level instrumentation + more by @jrmadsen in #32
  • Fix sampling counter time scales by @jrmadsen in #33
  • Implements --label option for python profiler by @jrmadsen in #34
  • export libomnitrace-dl.so to OMP_TOOL_LIBRARIES by @jrmadsen in #27

Full Changelog: v1.0.0...v1.1.0

v1.0.0: Initial Release of Omnitrace

31 May 03:31
ce29187
Compare
Choose a tag to compare

Overview

  • Please refer to the documentation about the capabilities of omnitrace.
  • The binary installers attached to this release only have external dependencies on the ROCm version noted in the script name, support for PAPI, OMPT, etc. are built-in

Full Changelog: v0.0.1...v1.0.0

Instructions for installing binary releases

See the documentation here to determine whether your OS supports installation via the pre-built installation scripts. It is possible to use these scripts on similar Linux flavors, e.g. the Ubuntu 20.04 (focal fossa) installer is compatible with Debian 11 (bullseye/sid).

  1. Download the binary for your OS and with the desired ROCm compatibility (if any)
    • The supported Python versions for all installers in this release are 3.6, 3.7, 3.8, 3.9, and 3.10
  2. Install the dependencies as needed (if not already installed)
    • All binary installers require installing OpenMP, e.g., apt-get install libgomp1 on Ubuntu
    • Packages with ROCm in the name require installing ROCm: instructions can be found here
    • PAPI and OMPT support have no runtime dependencies and thus require no additional installations.
    • All installations have partial MPI support
    • If you do not have Python installed on your system and do not intend to use the Python capabilities, installing Python is not necessary.
  3. Create the installation directory for omnitrace, e.g. mkdir /opt/omnitrace
  4. Run the installer script (see example below)
    • Recommendation: use --exclude-subdir option
  5. Setup the environment via setup-env.sh or environment-modules
    a. Source the setup-env.sh script in <prefix>/share/omnitrace, e.g. source /opt/omnitrace/share/omnitrace/setup-env.sh
    b. module use <prefix>/share/modulefiles and module load omnitrace/1.0.0
  6. Verify which omnitrace and which omnitrace-avail return <prefix>/bin/omnitrace and <prefix>/bin/omnitrace-avail

Example for omnitrace-1.0.0-ubuntu-20.04-ROCm-50000-PAPI-OMPT-Python3.sh

$ mkdir ${HOME}/omnitrace

$ ./omnitrace-1.0.0-ubuntu-20.04-ROCm-50000-PAPI-OMPT-Python3.sh --prefix=/opt/omnitrace --skip-license --exclude-subdir
omnitrace Installer Version: 1.0.0, Copyright (c) Advanced Micro Devices, Inc.
This is a self-extracting archive.
The archive will be extracted to: /opt/omnitrace

Using target directory: /opt/omnitrace
Extracting, please wait...

Unpacking finished successfully

$ source /opt/omnitrace/share/omnitrace/setup-env.sh

$ which omnitrace
/opt/omnitrace/bin/omnitrace

$ which omnitrace-avail
/opt/omnitrace/bin/omnitrace-avail

Enabling CPU Hardware Counters

In order to enable collecting CPU hardware counters, the value of /proc/sys/kernel/perf_event_paranoid may need to be changed.
The default value is 2. To update /proc/sys/kernel/perf_event_paranoid run:
echo <VALUE> | sudo tee /proc/sys/kernel/perf_event_paranoid

Value CPU Hardware Counter Capabilities
-1 Allow use of (almost) all events by all users. Ignore mlock limit after perf_event_mlock_kb without CAP_IPC_LOCK
>=0 Disallow ftrace function tracepoint by users without CAP_SYS_ADMIN. Disallow raw tracepoint access by users without CAP_SYS_ADMIN
>=1 Disallow CPU event access by users without CAP_SYS_ADMIN
>=2 Disallow kernel profiling by users without CAP_SYS_ADMIN