Dosyalar
rocm-systems/README.md
T

105 satır
4.5 KiB
Markdown
Ham Normal Görünüm Geçmiş

[![Ubuntu 22.04](https://github.com/ROCm/rocprofiler-compute/actions/workflows/ubuntu-jammy.yml/badge.svg)](https://github.com/ROCm/rocprofiler-compute/actions/workflows/ubuntu-jammy.yml)
[![RHEL 8](https://github.com/ROCm/rocprofiler-compute/actions/workflows/rhel-8.yml/badge.svg)](https://github.com/ROCm/rocprofiler-compute/actions/workflows/rhel-8.yml)
[![Instinct](https://github.com/ROCm/rocprofiler-compute/actions/workflows/mi-rhel9.yml/badge.svg)](https://github.com/ROCm/rocprofiler-compute/actions/workflows/mi-rhel9.yml)
[![Docs](https://github.com/ROCm/rocprofiler-compute/actions/workflows/docs.yml/badge.svg)](https://rocm.github.io/rocprofiler-compute/)
[![DOI](https://zenodo.org/badge/561919887.svg)](https://zenodo.org/badge/latestdoi/561919887)
2022-12-21 15:15:13 -06:00
# ROCm Compute Profiler
2022-11-04 14:49:36 -05:00
## General
ROCm Compute Profiler is a system performance profiling tool for machine
2022-11-04 14:49:36 -05:00
learning/HPC workloads running on AMD MI GPUs. The tool presently
2024-05-09 14:36:45 +00:00
targets usage on MI100, MI200, and MI300 accelerators.
2022-11-04 14:49:36 -05:00
* For more information on available features, installation steps, and
workload profiling and analysis, please refer to the online
[documentation](https://rocm.docs.amd.com/projects/rocprofiler-compute/en/latest/).
2022-11-04 14:49:36 -05:00
* ROCm Compute Profiler is an AMD open source research project and is not supported
2022-11-04 14:49:36 -05:00
as part of the ROCm software stack. We welcome contributions and
feedback from the community. Please see the
[CONTRIBUTING.md](CONTRIBUTING.md) file for additional details on our
contribution process.
* Licensing information can be found in the [LICENSE](LICENSE) file.
2024-03-21 13:11:43 -04:00
## Development
2022-11-04 14:49:36 -05:00
ROCm Compute Profiler follows a
2022-11-04 14:49:36 -05:00
[main-dev](https://nvie.com/posts/a-successful-git-branching-model/)
branching model. As a result, our latest stable release is shipped
2024-08-02 16:33:41 -04:00
from the `amd-mainline` branch, while new features are developed in our
2025-01-28 16:40:41 -06:00
`develop` branch.
2022-11-04 14:49:36 -05:00
2024-08-02 16:33:41 -04:00
Users may checkout `amd-staging` to preview upcoming features.
2022-11-04 14:49:36 -05:00
2025-01-04 21:52:06 -05:00
## Testing
To quickly get the environment (bash shell) for building and testing, run the following commands:
2025-02-20 17:51:57 -05:00
* `cd docker`
* `docker compose -f docker-compose.test.yml up --force-recreate -d && docker attach docker-test-1`
2025-01-04 21:52:06 -05:00
Inside the docker container, clean, build and install the project with tests enabled:
```
rm -rf build install && cmake -B build -D CMAKE_INSTALL_PREFIX=install -D ENABLE_TESTS=ON -D INSTALL_TESTS=ON -DENABLE_COVERAGE=ON -S . && cmake --build build --target install --parallel 8
```
Note that per the above command, build assets will be stored under `build` directory and installed assets will be stored under `install` directory.
Then, to run the automated test suite, run the following command:
```
ctest
```
For manual testing, you can find the executable at `install/bin/rocprof-compute`
NOTE: This Dockerfile uses `rocm/dev-ubuntu-22.04` as the base image
2025-02-20 17:51:57 -05:00
## Standalone binary
To create a standalone binary, run the following commands:
* `cd docker`
* `docker compose -f docker-compose.standalone.yml up --force-recreate -d && docker attach docker-standalone-1`
2025-02-20 17:51:57 -05:00
You should find the rocprof-compute.bin standalone binary inside the `build` folder in the root directory of the project.
To build the binary we follow these steps:
* Use RHEL 8 image used to build ROCm as the base image
* Install python3.8
* Install dependencies for runtime and for making standalone binary
* Call the make target which uses Nuitka to build the standalone binary
NOTE: Since RHEL 8 ships with glibc version 2.28, this standalone binary can only be run on environment with glibc version greater than 2.28.
glibc version can be checked using `ldd --version` command.
NOTE: libnss3.so shared library is required when using --roof-only option which generates roofline data in PDF format
To test the standalone binary provide the `--call-binary` option to pytest.
2022-11-11 16:53:03 -06:00
## How to Cite
This software can be cited using a Zenodo
[DOI](https://doi.org/10.5281/zenodo.7314631) reference. A BibTex
style reference is provided below for convenience:
```
2023-05-31 10:31:39 -05:00
@software{xiaomin_lu_2022_7314631
author = {Xiaomin Lu and
Cole Ramos and
Fei Zheng and
Karl W. Schulz and
2023-02-22 11:10:55 -06:00
Jose Santos and
2023-05-31 10:31:39 -05:00
Keith Lowery and
2023-08-17 10:39:05 -05:00
Nicholas Curtis and
2023-05-31 10:31:39 -05:00
Cristian Di Pietrantonio},
2025-02-11 12:46:33 -05:00
title = {ROCm/rocprofiler-compute: v3.1.0 (12 February 2025)},
month = February,
year = 2025,
publisher = {Zenodo},
2025-02-11 12:46:33 -05:00
version = {v3.1.0},
2022-12-13 16:01:59 -06:00
doi = {10.5281/zenodo.7314631},
url = {https://doi.org/10.5281/zenodo.7314631}
}
```