* Added documentation markdown source * Replaced AARInternal with AMDResearch in URLs * Renamed cpack artifact names * Fix to testing and lulesh submodule checkout * Docker updates * CMake and CPack - force CMAKE_INSTALL_LIBDIR to lib - CPACK_DEBIAN_PACKAGE_RELEASE uses OMNITRACE_CPACK_SYSTEM_NAME - CPACK_RPM_PACKAGE_RELEASE uses OMNITRACE_CPACK_SYSTEM_NAME - Tweak LIBOMP_LIBRARY find in examples/openmp - Tweak setup-env.sh.in * Partial update of README - status badges - docs link - removed install info (covered by docs) * OMNITRACE_SAMPLING_CPUS setting - enables control over which CPUs are sampled for frequency * omnitrace exe updates - exclude transaction clone, virtual thunk, non-virtual thunk - module_function::start_address - module_function::instructions - verbosity > 0 encodes instructions into JSON * Miscellaneous fixes - relocate setup-env.sh.in - add modulefile.in - Updated README.md and source/docs/about.md - cmake fix for libomp - fix license in miscellaneous places - dl.hpp and dl.cpp * Update timemory and dyninst submodules - timemory signals updates - dyninst Movement-adhoc updates * cmake format
1.6 KiB
About
.. toctree::
:glob:
:maxdepth: 4
Browse Omnitrace source code on Github
Omnitrace is an AMD research project and should not be treated as an offical part of the ROCm software stack.
Omnitrace is designed for both high-level and comprehensive application tracing and profiling on both the CPU and GPU. Omnitrace supports both binary instrumentation and sampling as a means of collecting various metrics.
Visualization of the comprehensive omnitrace results can be viewed in any modern web browser by visiting ui.perfetto.dev
and loading the perfetto output (.proto files) produced by omnitrace.
Aggregated high-level results are available in text files for human consumption and JSON files for programmatic analysis. The JSON output files are compatible with the python package hatchet which converts the performance data into pandas dataframes and facilitate multi-run comparisons, filtering, visualization in Jupyter notebooks, and much more.
Omnitrace has two distinct configuration steps:
- Configuring which functions and modules are instrumented in the target binaries (i.e. executable and/or libraries)
- Configuring what the instrumentation does happens when the instrumented binaries are executed