Updated links to point to the ROCm organization. (#337)
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
이 커밋은 다음에 포함됨:
@@ -21,7 +21,7 @@ env:
|
||||
|
||||
jobs:
|
||||
omnitrace-ci:
|
||||
if: github.repository == 'AMDResearch/omnitrace'
|
||||
if: github.repository == 'ROCm/omnitrace'
|
||||
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
@@ -78,7 +78,7 @@ jobs:
|
||||
popd
|
||||
|
||||
omnitrace-release:
|
||||
if: github.repository == 'AMDResearch/omnitrace'
|
||||
if: github.repository == 'ROCm/omnitrace'
|
||||
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ env:
|
||||
|
||||
jobs:
|
||||
installers:
|
||||
if: github.repository == 'AMDResearch/omnitrace'
|
||||
if: github.repository == 'ROCm/omnitrace'
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
@@ -267,7 +267,7 @@ jobs:
|
||||
|
||||
- name: Upload STGZ Release Assets
|
||||
uses: softprops/action-gh-release@v1
|
||||
if: startsWith(github.ref, 'refs/tags/') && github.repository == 'AMDResearch/omnitrace'
|
||||
if: startsWith(github.ref, 'refs/tags/') && github.repository == 'ROCm/omnitrace'
|
||||
with:
|
||||
fail_on_unmatched_files: True
|
||||
files: |
|
||||
|
||||
@@ -54,7 +54,7 @@ jobs:
|
||||
path: ./docs
|
||||
|
||||
deploy-docs:
|
||||
if: github.repository == 'AMDResearch/omnitrace' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/gh-pages')
|
||||
if: github.repository == 'ROCm/omnitrace' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/gh-pages')
|
||||
runs-on: ubuntu-20.04
|
||||
needs: build-docs
|
||||
permissions:
|
||||
|
||||
@@ -15,7 +15,7 @@ env:
|
||||
|
||||
jobs:
|
||||
release:
|
||||
if: github.repository == 'AMDResearch/omnitrace'
|
||||
if: github.repository == 'ROCm/omnitrace'
|
||||
runs-on: ubuntu-20.04
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@ project(
|
||||
LANGUAGES C CXX
|
||||
VERSION ${OMNITRACE_VERSION}
|
||||
DESCRIPTION "CPU/GPU Application tracing with static/dynamic binary instrumentation"
|
||||
HOMEPAGE_URL "https://github.com/AMDResearch/omnitrace")
|
||||
HOMEPAGE_URL "https://github.com/ROCm/omnitrace")
|
||||
|
||||
find_package(Git)
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# Omnitrace: Application Profiling, Tracing, and Analysis
|
||||
|
||||
[](https://github.com/AMDResearch/omnitrace/actions/workflows/ubuntu-bionic.yml)
|
||||
[](https://github.com/AMDResearch/omnitrace/actions/workflows/ubuntu-focal.yml)
|
||||
[](https://github.com/AMDResearch/omnitrace/actions/workflows/ubuntu-jammy.yml)
|
||||
[](https://github.com/AMDResearch/omnitrace/actions/workflows/opensuse.yml)
|
||||
[](https://github.com/AMDResearch/omnitrace/actions/workflows/redhat.yml)
|
||||
[](https://github.com/AMDResearch/omnitrace/actions/workflows/cpack.yml)
|
||||
[](https://github.com/AMDResearch/omnitrace/actions/workflows/docs.yml)
|
||||
[](https://github.com/ROCm/omnitrace/actions/workflows/ubuntu-bionic.yml)
|
||||
[](https://github.com/ROCm/omnitrace/actions/workflows/ubuntu-focal.yml)
|
||||
[](https://github.com/ROCm/omnitrace/actions/workflows/ubuntu-jammy.yml)
|
||||
[](https://github.com/ROCm/omnitrace/actions/workflows/opensuse.yml)
|
||||
[](https://github.com/ROCm/omnitrace/actions/workflows/redhat.yml)
|
||||
[](https://github.com/ROCm/omnitrace/actions/workflows/cpack.yml)
|
||||
[](https://github.com/ROCm/omnitrace/actions/workflows/docs.yml)
|
||||
|
||||
> ***[Omnitrace](https://github.com/AMDResearch/omnitrace) is an AMD open source research project and is not supported as part of the ROCm software stack.***
|
||||
> ***[Omnitrace](https://github.com/ROCm/omnitrace) is an AMD open source research project and is not supported as part of the ROCm software stack.***
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -89,14 +89,14 @@ such as the memory usage, page-faults, and context-switches, and thread-level me
|
||||
|
||||
## Documentation
|
||||
|
||||
The full documentation for [omnitrace](https://github.com/AMDResearch/omnitrace) is available at [amdresearch.github.io/omnitrace](https://amdresearch.github.io/omnitrace/).
|
||||
See the [Getting Started documentation](https://amdresearch.github.io/omnitrace/getting_started) for general tips and a detailed discussion about sampling vs. binary instrumentation.
|
||||
The full documentation for [omnitrace](https://github.com/ROCm/omnitrace) is available at [rocm.github.io/omnitrace](https://rocm.github.io/omnitrace/).
|
||||
See the [Getting Started documentation](https://rocm.github.io/omnitrace/getting_started) for general tips and a detailed discussion about sampling vs. binary instrumentation.
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Installation
|
||||
|
||||
- Visit [Releases](https://github.com/AMDResearch/omnitrace/releases) page
|
||||
- Visit [Releases](https://github.com/ROCm/omnitrace/releases) page
|
||||
- Select appropriate installer (recommendation: `.sh` scripts do not require super-user priviledges unlike the DEB/RPM installers)
|
||||
- If targeting a ROCm application, find the installer script with the matching ROCm version
|
||||
- If you are unsure about your Linux distro, check `/etc/os-release` or use the `omnitrace-install.py` script
|
||||
@@ -107,11 +107,11 @@ If ROCm support is desired, specify `--rocm X.Y` where `X` is the ROCm major ver
|
||||
is the ROCm minor version, e.g. `--rocm 5.4`.
|
||||
|
||||
```console
|
||||
wget https://github.com/AMDResearch/omnitrace/releases/latest/download/omnitrace-install.py
|
||||
wget https://github.com/ROCm/omnitrace/releases/latest/download/omnitrace-install.py
|
||||
python3 ./omnitrace-install.py --prefix /opt/omnitrace/rocm-5.4 --rocm 5.4
|
||||
```
|
||||
|
||||
See the [Installation Documentation](https://amdresearch.github.io/omnitrace/installation) for detailed information.
|
||||
See the [Installation Documentation](https://rocm.github.io/omnitrace/installation) for detailed information.
|
||||
|
||||
### Setup
|
||||
|
||||
|
||||
+1
-1
@@ -125,7 +125,7 @@ omnitrace_add_feature(OMNITRACE_PACKAGE_FILE_NAME "CPack filename")
|
||||
#
|
||||
# -------------------------------------------------------------------------------------- #
|
||||
|
||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/AMDResearch/omnitrace")
|
||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/ROCm/omnitrace")
|
||||
set(CPACK_DEBIAN_PACKAGE_RELEASE
|
||||
"${OMNITRACE_CPACK_SYSTEM_NAME}${OMNITRACE_CPACK_PACKAGE_SUFFIX}")
|
||||
string(REGEX REPLACE "([a-zA-Z])-([0-9])" "\\1\\2" CPACK_DEBIAN_PACKAGE_RELEASE
|
||||
|
||||
@@ -232,7 +232,7 @@ if __name__ == "__main__":
|
||||
)
|
||||
|
||||
script = f"omnitrace-{omnitrace_version}-{os_distrib}-{os_version}{rocm_version}{extensions}.sh"
|
||||
url = f"https://github.com/AMDResearch/omnitrace/releases/download/v{omnitrace_version}/{script}"
|
||||
url = f"https://github.com/ROCm/omnitrace/releases/download/v{omnitrace_version}/{script}"
|
||||
download_dir = (
|
||||
tempfile.mkdtemp(prefix="omnitrace-install-")
|
||||
if args.download_path is None
|
||||
|
||||
+4
-4
@@ -8,11 +8,11 @@
|
||||
|
||||
## Overview
|
||||
|
||||
> ***[OmniTrace](https://github.com/AMDResearch/omnitrace) is an AMD open source research project and is not supported as part of the ROCm software stack.***
|
||||
> ***[OmniTrace](https://github.com/ROCm/omnitrace) is an AMD open source research project and is not supported as part of the ROCm software stack.***
|
||||
|
||||
[Browse OmniTrace source code on Github](https://github.com/AMDResearch/omnitrace)
|
||||
[Browse OmniTrace source code on Github](https://github.com/ROCm/omnitrace)
|
||||
|
||||
[OmniTrace](https://github.com/AMDResearch/omnitrace) is designed for both high-level profiling and
|
||||
[OmniTrace](https://github.com/ROCm/omnitrace) is designed for both high-level profiling and
|
||||
comprehensive tracing of applications running on the CPU or the CPU+GPU via dynamic binary instrumentation,
|
||||
call-stack sampling, and various other means for determining currently executing function and line information.
|
||||
|
||||
@@ -24,7 +24,7 @@ The JSON output files are compatible with the python package [hatchet](https://g
|
||||
the performance data into pandas dataframes and facilitate multi-run comparisons, filtering, visualization in Jupyter notebooks,
|
||||
and much more.
|
||||
|
||||
[OmniTrace](https://github.com/AMDResearch/omnitrace) has two distinct configuration steps when instrumenting:
|
||||
[OmniTrace](https://github.com/ROCm/omnitrace) has two distinct configuration steps when instrumenting:
|
||||
|
||||
1. Configuring which functions and modules are instrumented in the target binaries (i.e. executable and/or libraries)
|
||||
- [Instrumenting with OmniTrace](instrumenting.md)
|
||||
|
||||
@@ -512,7 +512,7 @@ results in under development but until this is available, visit [plasma-umass.or
|
||||
This section is intended for readers who are familiar with the [Coz profiler](https://github.com/plasma-umass/coz).
|
||||
OmniTrace provides several additional features and utilities for causal profiling:
|
||||
|
||||
| | [Coz](https://github.com/plasma-umass/coz) | [OmniTrace](https://github.com/AMDResearch/omnitrace) | Notes |
|
||||
| | [Coz](https://github.com/plasma-umass/coz) | [OmniTrace](https://github.com/ROCm/omnitrace) | Notes |
|
||||
|----------------------|:-------------------------------------------------------------------:|:----------------------------------------------------------:|-------------------------------|
|
||||
| Debug info | requires debug info in DWARF v3 format (`-gdwarf-3`) | optional, supports any DWARF format version | See Note #1 below |
|
||||
| Experiment selection | `<file>:<line>` | `<function>` or `<file>:<line>` | See Note #2 below |
|
||||
|
||||
+17
-17
@@ -7,7 +7,7 @@
|
||||
|
||||
## Executables
|
||||
|
||||
### omnitrace-avail: [source/bin/omnitrace-avail](https://github.com/AMDResearch/omnitrace/tree/main/source/bin/omnitrace-avail)
|
||||
### omnitrace-avail: [source/bin/omnitrace-avail](https://github.com/ROCm/omnitrace/tree/main/source/bin/omnitrace-avail)
|
||||
|
||||
The main of `omnitrace-avail` has three important sections:
|
||||
|
||||
@@ -15,7 +15,7 @@ The main of `omnitrace-avail` has three important sections:
|
||||
2. Printing options
|
||||
3. Printing hardware counters
|
||||
|
||||
### omnitrace-sample: [source/bin/omnitrace-sample](https://github.com/AMDResearch/omnitrace/tree/main/source/bin/omnitrace-sample)
|
||||
### omnitrace-sample: [source/bin/omnitrace-sample](https://github.com/ROCm/omnitrace/tree/main/source/bin/omnitrace-sample)
|
||||
|
||||
General design:
|
||||
|
||||
@@ -24,7 +24,7 @@ General design:
|
||||
- Adds `libomnitrace-dl.so` to `LD_PRELOAD`
|
||||
- Application is launched via `execvpe` with `<command> <command-args>` and modified environment
|
||||
|
||||
### omnitrace-casual: [source/bin/omnitrace-causal](https://github.com/AMDResearch/omnitrace/tree/main/source/bin/omnitrace-causal)
|
||||
### omnitrace-casual: [source/bin/omnitrace-causal](https://github.com/ROCm/omnitrace/tree/main/source/bin/omnitrace-causal)
|
||||
|
||||
Nearly identical design to [omnitrace-sample](#omnitrace-sample-sourcebinomnitrace-sample) when
|
||||
there is exactly one causal profiling configuration variant (this enables debugging).
|
||||
@@ -36,7 +36,7 @@ for each variant:
|
||||
- child process launches `<command> <command-args>` via `execvpe` which modified environment for variant
|
||||
- parent process waits for child process to finish
|
||||
|
||||
### omnitrace-instrument: [source/bin/omnitrace-instrument](https://github.com/AMDResearch/omnitrace/tree/main/source/bin/omnitrace-instrument)
|
||||
### omnitrace-instrument: [source/bin/omnitrace-instrument](https://github.com/ROCm/omnitrace/tree/main/source/bin/omnitrace-instrument)
|
||||
|
||||
- Requires a command-line format of `omnitrace-instrument <options> -- <command> <command-args>`
|
||||
- User specifies in options whether they want to do runtime instrumentation, binary rewrite, or attach to process
|
||||
@@ -50,30 +50,30 @@ for each variant:
|
||||
- For a binary rewrite: outputs new instrumented binary and exits
|
||||
- For runtime instrumentation or attaching to a process: instructs the application to resume executing and then waits for the application to exit
|
||||
|
||||
### omnitrace-critical-trace: [source/bin/omnitrace-critical-trace](https://github.com/AMDResearch/omnitrace/tree/main/source/bin/omnitrace-critical-trace)
|
||||
### omnitrace-critical-trace: [source/bin/omnitrace-critical-trace](https://github.com/ROCm/omnitrace/tree/main/source/bin/omnitrace-critical-trace)
|
||||
|
||||
Post-processing tool for critical-trace data output by omnitrace.
|
||||
|
||||
## Libraries
|
||||
|
||||
### Common Library: [source/lib/common](https://github.com/AMDResearch/omnitrace/tree/main/source/lib/common)
|
||||
### Common Library: [source/lib/common](https://github.com/ROCm/omnitrace/tree/main/source/lib/common)
|
||||
|
||||
General header-only functionality used in multiple executables and/or libraries. Not installed or exported outside of the build tree.
|
||||
|
||||
### Core Library: [source/lib/core](https://github.com/AMDResearch/omnitrace/tree/main/source/lib/core)
|
||||
### Core Library: [source/lib/core](https://github.com/ROCm/omnitrace/tree/main/source/lib/core)
|
||||
|
||||
Static PIC library with functionality that does not depend on any components. Not installed or exported outside of the build tree.
|
||||
|
||||
### Binary Library: [source/lib/binary](https://github.com/AMDResearch/omnitrace/tree/main/source/lib/binary)
|
||||
### Binary Library: [source/lib/binary](https://github.com/ROCm/omnitrace/tree/main/source/lib/binary)
|
||||
|
||||
Static PIC library with functionality for reading/analyzing binary info. Mostly used by the causal profiling sections
|
||||
of [libomnitrace](#libomnitrace-sourcelibomnitrace). Not installed or exported outside of the build tree.
|
||||
|
||||
### libomnitrace: [source/lib/omnitrace](https://github.com/AMDResearch/omnitrace/tree/main/source/lib/omnitrace)
|
||||
### libomnitrace: [source/lib/omnitrace](https://github.com/ROCm/omnitrace/tree/main/source/lib/omnitrace)
|
||||
|
||||
This is the main library encapsulating all the capabilities.
|
||||
|
||||
### libomnitrace-dl: [source/lib/omnitrace-dl](https://github.com/AMDResearch/omnitrace/tree/main/source/lib/omnitrace-dl)
|
||||
### libomnitrace-dl: [source/lib/omnitrace-dl](https://github.com/ROCm/omnitrace/tree/main/source/lib/omnitrace-dl)
|
||||
|
||||
Lightweight, front-end library for [libomnitrace](#libomnitrace-sourcelibomnitrace) which serves 3 primary purposes:
|
||||
|
||||
@@ -81,7 +81,7 @@ Lightweight, front-end library for [libomnitrace](#libomnitrace-sourcelibomnitra
|
||||
2. Prevents re-entry if [libomnitrace](#libomnitrace-sourcelibomnitrace) calls an instrumentated function internally)
|
||||
3. Coordinates communication between [libomnitrace-user](#libomnitrace-user-sourcelibomnitrace-user) and [libomnitrace](#libomnitrace-sourcelibomnitrace)
|
||||
|
||||
### libomnitrace-user: [source/lib/omnitrace-user](https://github.com/AMDResearch/omnitrace/tree/main/source/lib/omnitrace-user)
|
||||
### libomnitrace-user: [source/lib/omnitrace-user](https://github.com/ROCm/omnitrace/tree/main/source/lib/omnitrace-user)
|
||||
|
||||
Provides a set of functions and types for the users to add to their code, e.g. disabling data collection globally or on a specific thread,
|
||||
user-defined regions, etc. If [libomnitrace-dl](#libomnitrace-dl-sourcelibomnitrace-dl) is not loaded, the user API is effectively no-op
|
||||
@@ -284,13 +284,13 @@ the realtime sampler. For example, `OMNITRACE_SAMPLING_FREQ=500` initially sets
|
||||
(based on their clock). Settings `OMNITRACE_SAMPLING_REALTIME_FREQ=10` will lower the sampling frequency for the realtime sampler
|
||||
to 10 interrupts per second of realtime.
|
||||
|
||||
The omnitrace-specific implementation can be found in [source/lib/omnitrace/library/sampling.cpp](https://github.com/AMDResearch/omnitrace/blob/main/source/lib/omnitrace/library/sampling.cpp).
|
||||
Within [sampling.cpp](https://github.com/AMDResearch/omnitrace/blob/main/source/lib/omnitrace/library/sampling.cpp), you will a bundle of 3 sampling components:
|
||||
The omnitrace-specific implementation can be found in [source/lib/omnitrace/library/sampling.cpp](https://github.com/ROCm/omnitrace/blob/main/source/lib/omnitrace/library/sampling.cpp).
|
||||
Within [sampling.cpp](https://github.com/ROCm/omnitrace/blob/main/source/lib/omnitrace/library/sampling.cpp), you will a bundle of 3 sampling components:
|
||||
`backtrace_timestamp`, `backtrace`, and `backtrace_metrics`.
|
||||
The first component [backtrace_timestamp](https://github.com/AMDResearch/omnitrace/blob/main/source/lib/omnitrace/library/components/backtrace_timestamp.hpp) simply
|
||||
The first component [backtrace_timestamp](https://github.com/ROCm/omnitrace/blob/main/source/lib/omnitrace/library/components/backtrace_timestamp.hpp) simply
|
||||
records the wall-clock time of the sample.
|
||||
The second component [backtrace](https://github.com/AMDResearch/omnitrace/blob/main/source/lib/omnitrace/library/components/backtrace.hpp) records the call-stack via libunwind.
|
||||
The last component [backtrace_metrics](https://github.com/AMDResearch/omnitrace/blob/main/source/lib/omnitrace/library/components/backtrace_metrics.hpp) is responsible for recording the
|
||||
The second component [backtrace](https://github.com/ROCm/omnitrace/blob/main/source/lib/omnitrace/library/components/backtrace.hpp) records the call-stack via libunwind.
|
||||
The last component [backtrace_metrics](https://github.com/ROCm/omnitrace/blob/main/source/lib/omnitrace/library/components/backtrace_metrics.hpp) is responsible for recording the
|
||||
metrics for that sample, e.g. peak RSS, HW counters, etc. These 3 components are bundled together in a tuple-like struct (e.g. `tuple<backtrace_timestamp, backtrace, backtrace_metrics>`)
|
||||
a buffer of at least 1024 instances of this tuple are mmap'ed per-thread. When this buffer is full, before taking the next sample, the sampler will hand the buffer
|
||||
off to it's allocator thread and mmap a new buffer. The allocator thread takes this data and either dynamically stores it in memory or writes it to a file depending on the value of `OMNITRACE_USE_TEMPORARY_FILES`.
|
||||
@@ -300,7 +300,7 @@ a new internal thread is created to handle the new samplers.
|
||||
|
||||
## Time-Window Constraint Model
|
||||
|
||||
Recently with the introduction of tracing delay/duration/etc., the [constraint namespace](https://github.com/AMDResearch/omnitrace/blob/main/source/lib/core/constraint.hpp)
|
||||
Recently with the introduction of tracing delay/duration/etc., the [constraint namespace](https://github.com/ROCm/omnitrace/blob/main/source/lib/core/constraint.hpp)
|
||||
was introduced to improve the management of delays and/or duration limits of data collection. The `spec` class takes a clock identifier, a delay value, a duration value, and an
|
||||
integer indicating how many times to repeat the delay + duration. Thus, it is possible to perform tasks such as periodically enabling tracing for brief periods
|
||||
of time in between long periods without data collection during the application, e.g. `OMNITRACE_TRACE_PERIODS = realtime:10:1:5 process_cputime:10:2:20` would enable
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
|
||||
## Overview
|
||||
|
||||
[OmniTrace](https://github.com/AMDResearch/omnitrace) is designed to be highly extensible. Internally, it leverages the
|
||||
[OmniTrace](https://github.com/ROCm/omnitrace) is designed to be highly extensible. Internally, it leverages the
|
||||
[timemory performance analysis toolkit](https://github.com/NERSC/timemory) to
|
||||
manage extensions, resources, data, etc.
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# Welcome to the [OmniTrace](https://github.com/AMDResearch/omnitrace) Documentation!
|
||||
# Welcome to the [OmniTrace](https://github.com/ROCm/omnitrace) Documentation!
|
||||
|
||||
```eval_rst
|
||||
.. toctree::
|
||||
|
||||
@@ -14,7 +14,7 @@ If ROCm support is desired, specify `--rocm X.Y` where `X` is the ROCm major ver
|
||||
is the ROCm minor version, e.g. `--rocm 5.4`.
|
||||
|
||||
```console
|
||||
wget https://github.com/AMDResearch/omnitrace/releases/latest/download/omnitrace-install.py
|
||||
wget https://github.com/ROCm/omnitrace/releases/latest/download/omnitrace-install.py
|
||||
python3 ./omnitrace-install.py --prefix /opt/omnitrace --rocm 5.4
|
||||
```
|
||||
|
||||
@@ -87,7 +87,7 @@ self-contained support for these packages.
|
||||
### Download the appropriate binary distribution
|
||||
|
||||
```shell
|
||||
wget https://github.com/AMDResearch/omnitrace/releases/download/v<VERSION>/<SCRIPT>
|
||||
wget https://github.com/ROCm/omnitrace/releases/download/v<VERSION>/<SCRIPT>
|
||||
```
|
||||
|
||||
### Create the target installation directory
|
||||
@@ -111,7 +111,7 @@ The Clang compiler may be used in lieu of the GCC compiler if Dyninst is already
|
||||
|
||||
- GCC compiler v7+
|
||||
- Older GCC compilers may be supported but are not tested
|
||||
- Clang compilers are generally supported for [OmniTrace](https://github.com/AMDResearch/omnitrace) but not Dyninst
|
||||
- Clang compilers are generally supported for [OmniTrace](https://github.com/ROCm/omnitrace) but not Dyninst
|
||||
- [CMake](https://cmake.org/) v3.16+
|
||||
|
||||
> ***If the system installed cmake is too old, installing a new version of cmake can be done through several methods.***
|
||||
@@ -177,7 +177,7 @@ versions of Dyninst's Boost, TBB, and LibIberty dependencies (i.e. `apt-get inst
|
||||
it's dependencies via `DYNINST_BUILD_<DEP>=ON`, e.g.:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/AMDResearch/omnitrace.git omnitrace-source
|
||||
git clone https://github.com/ROCm/omnitrace.git omnitrace-source
|
||||
cmake -B omnitrace-build -DOMNITRACE_BUILD_DYNINST=ON -DDYNINST_BUILD_{TBB,ELFUTILS,BOOST,LIBIBERTY}=ON omnitrace-source
|
||||
```
|
||||
|
||||
@@ -207,7 +207,7 @@ into omnitrace's perfetto support, e.g. `OMNITRACE_USE_PAPI=<VAL>` forces `TIMEM
|
||||
is passed along to perfetto and will be displayed when the `.proto` file is visualized in [ui.perfetto.dev](https://ui.perfetto.dev).
|
||||
|
||||
```shell
|
||||
git clone https://github.com/AMDResearch/omnitrace.git omnitrace-source
|
||||
git clone https://github.com/ROCm/omnitrace.git omnitrace-source
|
||||
cmake \
|
||||
-B omnitrace-build \
|
||||
-D CMAKE_INSTALL_PREFIX=/opt/omnitrace \
|
||||
@@ -232,7 +232,7 @@ source /opt/omnitrace/share/omnitrace/setup-env.sh
|
||||
|
||||
#### MPI Support within OmniTrace
|
||||
|
||||
[OmniTrace](https://github.com/AMDResearch/omnitrace) can have full (`OMNITRACE_USE_MPI=ON`) or partial (`OMNITRACE_USE_MPI_HEADERS=ON`) MPI support.
|
||||
[OmniTrace](https://github.com/ROCm/omnitrace) can have full (`OMNITRACE_USE_MPI=ON`) or partial (`OMNITRACE_USE_MPI_HEADERS=ON`) MPI support.
|
||||
The only difference between these two modes is whether or not the results collected via timemory and/or perfetto can be aggregated into a single
|
||||
output file during finalization. When full MPI support is enabled, combining the timemory results always occurs whereas combining the perfetto
|
||||
results is configurable via the `OMNITRACE_PERFETTO_COMBINE_TRACES` setting.
|
||||
|
||||
@@ -458,7 +458,7 @@ omnitrace-instrument --simulate -o foo.inst -- foo
|
||||
|
||||
### Excluding and Including Modules and Functions
|
||||
|
||||
[OmniTrace](https://github.com/AMDResearch/omnitrace) has a set of 6 command-line options which each accept one or more regular expressions for customizing the scope of which module and/or functions are
|
||||
[OmniTrace](https://github.com/ROCm/omnitrace) has a set of 6 command-line options which each accept one or more regular expressions for customizing the scope of which module and/or functions are
|
||||
instrumented. Multiple regexes per option are treated as an OR operation, e.g. `--module-include libfoo libbar` is effectively that same as `--module-include 'libfoo|libbar'`.
|
||||
|
||||
If you would like to force the inclusion of certain modules and/or function without changing any of the heuristics, use the `--module-include` and/or `--function-include` options.
|
||||
@@ -765,7 +765,7 @@ background system-level thread sampling by default.
|
||||
Tracing capabilities which do not rely on instrumentation, such as the HIP API and kernel tracing
|
||||
(which is collected via roctracer), will still be available.
|
||||
|
||||
[OmniTrace](https://github.com/AMDResearch/omnitrace)'s sampling capabilities are always available, even in trace mode, but is deactivated by default.
|
||||
[OmniTrace](https://github.com/ROCm/omnitrace)'s sampling capabilities are always available, even in trace mode, but is deactivated by default.
|
||||
In order to activate sampling in trace mode, simply set `OMNITRACE_USE_SAMPLING=ON` in the environment
|
||||
or in an omnitrace configuration file.
|
||||
|
||||
|
||||
+1
-1
@@ -55,7 +55,7 @@ $ omnitrace-instrument -- ./foo
|
||||
|
||||
## Metadata
|
||||
|
||||
[OmniTrace](https://github.com/AMDResearch/omnitrace) will output a metadata.json file. This metadata file will contain
|
||||
[OmniTrace](https://github.com/ROCm/omnitrace) will output a metadata.json file. This metadata file will contain
|
||||
information about the settings, environment variables, output files, and info about the system and the run:
|
||||
|
||||
- Hardware cache sizes
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
:maxdepth: 3
|
||||
```
|
||||
|
||||
[OmniTrace](https://github.com/AMDResearch/omnitrace) supports profiling Python code at the source-level and/or the script-level.
|
||||
[OmniTrace](https://github.com/ROCm/omnitrace) supports profiling Python code at the source-level and/or the script-level.
|
||||
Python support is enabled via the `OMNITRACE_USE_PYTHON` and the `OMNITRACE_PYTHON_VERSIONS="<MAJOR>.<MINOR>` CMake options.
|
||||
Alternatively, to build multiple python versions, use `OMNITRACE_PYTHON_VERSIONS="<MAJOR>.<MINOR>;[<MAJOR>.<MINOR>]"`,
|
||||
and `OMNITRACE_PYTHON_ROOT_DIRS="/path/to/version;[/path/to/version]"` instead of `OMNITRACE_PYTHON_VERSION`.
|
||||
|
||||
+3
-3
@@ -49,7 +49,7 @@ match to nearly all common expressions for boolean logic: ON, OFF, YES, NO, TRUE
|
||||
|
||||
### Exploring Components
|
||||
|
||||
[OmniTrace](https://github.com/AMDResearch/omnitrace) uses [timemory](https://github.com/NERSC/timemory) extensively to provide various capabilities and manage
|
||||
[OmniTrace](https://github.com/ROCm/omnitrace) uses [timemory](https://github.com/NERSC/timemory) extensively to provide various capabilities and manage
|
||||
data and resources. By default, when `OMNITRACE_PROFILE=ON`, omnitrace will only collect wall-clock
|
||||
timing values; however, by modifying the `OMNITRACE_TIMEMORY_COMPONENTS` setting, omnitrace can be configured to
|
||||
collect hardware counters, CPU-clock timers, memory usage, context-switches, page-faults, network statistics,
|
||||
@@ -72,7 +72,7 @@ omnitrace-avail --components --available --string --brief
|
||||
|
||||
### Exploring Hardware Counters
|
||||
|
||||
[OmniTrace](https://github.com/AMDResearch/omnitrace) supports collecting hardware counters via PAPI and ROCm.
|
||||
[OmniTrace](https://github.com/ROCm/omnitrace) supports collecting hardware counters via PAPI and ROCm.
|
||||
Generally, PAPI is used to collect CPU-based hardware counters and ROCm is used to collect GPU-based hardware
|
||||
counters; although it is possible to install PAPI with ROCm support and collect GPU-based hardware counters
|
||||
via PAPI but this is not recommended because CPU hardware counters via PAPI cannot be collected simultaneously.
|
||||
@@ -1161,7 +1161,7 @@ $ omnitrace-avail -H -bd
|
||||
|
||||
## Creating a Configuration File
|
||||
|
||||
[OmniTrace](https://github.com/AMDResearch/omnitrace) supports 3 configuration file formats: JSON, XML, and plain text.
|
||||
[OmniTrace](https://github.com/ROCm/omnitrace) supports 3 configuration file formats: JSON, XML, and plain text.
|
||||
Use `omnitrace-avail -G <filename> -F txt json xml` to generate default configuration files of each format and, optionally,
|
||||
include the `--all` flag for descriptions, etc.
|
||||
Configuration files are specified via the `OMNITRACE_CONFIG_FILE` environment variable
|
||||
|
||||
@@ -767,7 +767,7 @@ configure_settings(bool _init)
|
||||
OMNITRACE_CONFIG_SETTING(
|
||||
std::string, "OMNITRACE_CAUSAL_BACKEND",
|
||||
"Backend for call-stack sampling. See "
|
||||
"https://amdresearch.github.io/omnitrace/causal_profiling.html#backends for more "
|
||||
"https://rocm.github.io/omnitrace/causal_profiling.html#backends for more "
|
||||
"info. If set to \"auto\", omnitrace will attempt to use the perf backend and "
|
||||
"fallback on the timer backend if unavailable",
|
||||
std::string{ "auto" }, "causal", "analysis")
|
||||
|
||||
@@ -345,7 +345,7 @@ experiment::stop()
|
||||
"Warning! causal experimentation hasn't seen at least 5 progress points "
|
||||
"in the last %li experiments. Progress points are necessary for measuring "
|
||||
"the effect of the virtual speed-up. Please visit "
|
||||
"https://amdresearch.github.io/omnitrace/ for documentation on progress "
|
||||
"https://rocm.github.io/omnitrace/ for documentation on progress "
|
||||
"points and how to add them\n",
|
||||
global_scaling_increments);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[metadata]
|
||||
name = omnitrace-causal-viewer
|
||||
url = https://github.com/AMDResearch/omnitrace
|
||||
download_url = https://github.com/AMDResearch/omnitrace.git
|
||||
url = https://github.com/ROCm/omnitrace
|
||||
download_url = https://github.com/ROCm/omnitrace.git
|
||||
maintainer = AMD Research
|
||||
license = MIT
|
||||
description = GUI for viewing Omnitrace causal profiles
|
||||
|
||||
새 이슈에서 참조
사용자 차단