# Installation ```eval_rst .. toctree:: :glob: :maxdepth: 4 ``` - Ubuntu 18.04 or Ubuntu 20.04 - Other OS distributions may be supported but are not tested - 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 - [CMake](https://cmake.org/) v3.15+ - [DynInst](https://github.com/dyninst/dyninst) for dynamic or static instrumentation - [TBB](https://github.com/oneapi-src/oneTBB) required by Dyninst - [ElfUtils](https://sourceware.org/elfutils/) required by Dyninst - [LibIberty](https://github.com/gcc-mirror/gcc/tree/master/libiberty) required by Dyninst - [Boost](https://www.boost.org/) required by Dyninst - [OpenMP](https://www.openmp.org/) optional by Dyninst - [ROCm](https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html#ubuntu) (optional) - HIP - Roctracer for HIP API and kernel tracing - ROCM-SMI for GPU monitoring - [PAPI](https://icl.utk.edu/papi/) - [libunwind](https://www.nongnu.org/libunwind/) for call-stack sampling - Several optional third-party profiling tools supported by timemory (e.g. TAU, Caliper, CrayPAT, etc.) ## Installing omnitrace from binary distributions Every omnitrace release provides binary installer scripts of the form: ```shell omnitrace-{VERSION}-{OS_DISTRIB}-{OS_VERSION}[-ROCm-{ROCM_VERSION}[-{EXTRA}]].sh ``` E.g.: ```shell omnitrace-0.0.5-Ubuntu-18.04.sh omnitrace-0.0.5-Ubuntu-18.04-ROCm-4.3.0.sh omnitrace-0.0.5-Ubuntu-18.04-ROCm-4.5.0.sh ... omnitrace-0.0.5-Ubuntu-20.04-ROCm-4.5.0-PAPI.sh omnitrace-0.0.5-Ubuntu-20.04-ROCm-4.5.0-PAPI-MPICH.sh omnitrace-0.0.5-Ubuntu-20.04-ROCm-4.5.0-PAPI-OpenMPI.sh ``` The EXTRA fields such as PAPI, MPICH, and OpenMPI are built against the libraries provided by the OS package manager, e.g. `apt-get install libpapi-dev` for Ubuntu. ### Download the appropriate binary distribution ```shell wget https://github.com/AMDResearch/omnitrace/releases/download/v/