2.x version. Introduces an Omniperf class as the primary structure to organize work elements and allows for a simple main() which is highlighted in a omniperf2 example. Demonstrates desired logger functionality including a custom trace loglevel that can be used to provide more verbosity beyond the debug level. Also introduces three abstract base classes to organize flexibility for alternative implementations of key elements within omniperf: * underlying profiler tool (e.g. rocprof, rocscope, etc) * supported GPU architectures (SoC) * analysis environments (e.g. CLI, web-based, etc) Stub examples for child classes relevant to currently supported options within omniperf are included in separate files. Signed-off-by: Karl W. Schulz <karl.schulz@amd.com>
Omniperf
General
Omniperf is a system performance profiling tool for machine learning/HPC workloads running on AMD MI GPUs. The tool presently targets usage on MI100 and MI200 accelerators.
-
For more information on available features, installation steps, and workload profiling and analysis, please refer to the online documentation.
-
Omniperf is an AMD open source research project and is not supported as part of the ROCm software stack. We welcome contributions and feedback from the community. Please see the CONTRIBUTING.md file for additional details on our contribution process.
-
Licensing information can be found in the LICENSE file.
Development
Omniperf follows a
main-dev
branching model. As a result, our latest stable release is shipped
from the main branch, while new features are developed in our
dev branch.
Users may checkout dev to preview upcoming features.
How to Cite
This software can be cited using a Zenodo DOI reference. A BibTex style reference is provided below for convenience:
@software{xiaomin_lu_2022_7314631
author = {Xiaomin Lu and
Cole Ramos and
Fei Zheng and
Karl W. Schulz and
Jose Santos and
Keith Lowery and
Nicholas Curtis and
Cristian Di Pietrantonio},
title = {AMDResearch/omniperf: v1.0.10 (22 Aug 2023)},
month = aug,
year = 2023,
publisher = {Zenodo},
version = {v1.0.10},
doi = {10.5281/zenodo.7314631},
url = {https://doi.org/10.5281/zenodo.7314631}
}