Skip to content

v1.0.0: Initial Release of Omnitrace

Compare
Choose a tag to compare
@jrmadsen jrmadsen released this 31 May 03:31
· 240 commits to main since this release
ce29187

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