|
1 | | -[](https://github.com/ROCm/rocprofiler-compute/actions/workflows/ubuntu-jammy.yml) |
2 | | -[](https://github.com/ROCm/rocprofiler-compute/actions/workflows/rhel-8.yml) |
3 | | -[](https://github.com/ROCm/rocprofiler-compute/actions/workflows/mi-rhel9.yml) |
4 | | -[](https://rocm.github.io/rocprofiler-compute/) |
5 | | -[](https://zenodo.org/badge/latestdoi/561919887) |
6 | | - |
7 | 1 | # ROCm Compute Profiler |
8 | 2 |
|
| 3 | +> [!CAUTION] |
| 4 | +> The rocprofiler-compute repository is retired, please use the [ROCm/rocm-systems](https://github.com/ROCm/rocm-systems) repository |
| 5 | +
|
9 | 6 | ## General |
10 | 7 |
|
11 | 8 | ROCm Compute Profiler is a system performance profiling tool for machine |
12 | 9 | learning/HPC workloads running on AMD MI GPUs. The tool presently |
13 | 10 | targets usage on MI100, MI200, and MI300 accelerators. |
14 | | - |
15 | | -* For more information on available features, installation steps, and |
16 | | -workload profiling and analysis, please refer to the online |
17 | | -[documentation](https://rocm.docs.amd.com/projects/rocprofiler-compute/en/latest/). |
18 | | - |
19 | | -* ROCm Compute Profiler is an AMD open source research project and is not supported |
20 | | -as part of the ROCm software stack. We welcome contributions and |
21 | | -feedback from the community. Please see the |
22 | | -[CONTRIBUTING.md](CONTRIBUTING.md) file for additional details on our |
23 | | -contribution process. |
24 | | - |
25 | | -* Licensing information can be found in the [LICENSE](LICENSE) file. |
26 | | - |
27 | | -## Development |
28 | | - |
29 | | -ROCm Compute Profiler follows a |
30 | | -[main-dev](https://nvie.com/posts/a-successful-git-branching-model/) |
31 | | -branching model. As a result, our latest stable release is shipped |
32 | | -from the `amd-mainline` branch, while new features are developed in our |
33 | | -`develop` branch. |
34 | | - |
35 | | -Users may checkout `amd-staging` to preview upcoming features. |
36 | | - |
37 | | -## Testing |
38 | | - |
39 | | -Populate the empty variables in `Dockerfile.customrocmtest` based on latest CI build information. |
40 | | - |
41 | | -To quickly get the environment (bash shell) for building and testing, run the following commands: |
42 | | -* `cd docker` |
43 | | -* `docker compose -f docker-compose.customrocmtest.yml up --force-recreate -d && docker attach docker-customrocmtest-1` |
44 | | - |
45 | | -Inside the docker container, clean, build and install the project with tests enabled: |
46 | | -``` |
47 | | -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 |
48 | | -``` |
49 | | - |
50 | | -Note that per the above command, build assets will be stored under `build` directory and installed assets will be stored under `install` directory. |
51 | | - |
52 | | -Then, to run the automated test suite, run the following command: |
53 | | -``` |
54 | | -ctest |
55 | | -``` |
56 | | - |
57 | | -For manual testing, you can find the executable at `install/bin/rocprof-compute` |
58 | | - |
59 | | -NOTE: This Dockerfile uses `ubuntu 22.04` as the base operating system image |
60 | | - |
61 | | -## Standalone binary |
62 | | - |
63 | | -To create a standalone binary, run the following commands: |
64 | | -* `cd docker` |
65 | | -* `docker compose -f docker-compose.standalone.yml up --force-recreate -d && docker attach docker-standalone-1` |
66 | | - |
67 | | -You should find the rocprof-compute.bin standalone binary inside the `build` folder in the root directory of the project. |
68 | | - |
69 | | -To build the binary we follow these steps: |
70 | | -* Use RHEL 8 image used to build ROCm as the base image |
71 | | -* Install python3.8 |
72 | | -* Install dependencies for runtime and for making standalone binary |
73 | | -* Call the make target which uses Nuitka to build the standalone binary |
74 | | - |
75 | | -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. |
76 | | -glibc version can be checked using `ldd --version` command. |
77 | | - |
78 | | -NOTE: libnss3.so shared library is required when using --roof-only option which generates roofline data in PDF format |
79 | | - |
80 | | -To test the standalone binary provide the `--call-binary` option to pytest. |
81 | | - |
82 | | -## How to Cite |
83 | | - |
84 | | -This software can be cited using a Zenodo |
85 | | -[DOI](https://doi.org/10.5281/zenodo.7314631) reference. A BibTex |
86 | | -style reference is provided below for convenience: |
87 | | - |
88 | | -``` |
89 | | -@software{xiaomin_lu_2022_7314631 |
90 | | - author = {Xiaomin Lu and |
91 | | - Cole Ramos and |
92 | | - Fei Zheng and |
93 | | - Karl W. Schulz and |
94 | | - Jose Santos and |
95 | | - Keith Lowery and |
96 | | - Nicholas Curtis and |
97 | | - Cristian Di Pietrantonio}, |
98 | | - title = {ROCm/rocprofiler-compute: v3.1.0 (12 February 2025)}, |
99 | | - month = February, |
100 | | - year = 2025, |
101 | | - publisher = {Zenodo}, |
102 | | - version = {v3.1.0}, |
103 | | - doi = {10.5281/zenodo.7314631}, |
104 | | - url = {https://doi.org/10.5281/zenodo.7314631} |
105 | | -} |
106 | | -``` |
0 commit comments