* Initial steps added for rocprofiler-systems-continuous-integration.yml * Add new line to end of rocprofiler-systems-continuous-integration.yml * Fix matrix issue in rocprofiler-systems CI workflow * Update runner to use mi355 * Remove sudo from ROCm download step * Add Python venv * Try to install python venv * Add -y to pip venv install commands * Add shell: bash to download ROCm step * Fix issue in if statement * Fix typo in mv command * Fix mv command * Update paths * add directory in install step * Use default runner for now while debugging setup * Add set -e to steps * debug build step * Add amdgpu install step * remove working-directory from amdgpu install step * add path/ld lib path, add -S argument to run-ci.py * Fix typo in DCMAKE_PREFIX_PATH * Add DGPU_TARGETS to run-ci.py command * add Docker options, remove GPU_TARGETS * Install amd-smi-lib * Add DCMAKE_BUILD_TYPE, update path * Remove mkdir * Add build dynist cmake arguments * Update cmake arguments again * Add missing \ to run-ci.py command * add libdw dependency * Add later install step * Increase timeout of configure/build/test step * use 16 jobs to try and speed up pipeline time * Add GHCR image, remove TheRock tarball download step, minor changes for debugging * Add credentials to container portion of step * Add package read permissions to ubuntu step * Update tarball name * Increase jobs to 16, disable some tests for now due to timeouts * Modify to only include gpu tests * Fix configuration * Enable MPI on run-ci.py run * Add install MPI step, changed tests to be run * Enable OMPI flags, enable network counter access * Use new Docker image names, add privileged option to Docker * Change cmake build type * Add fail-fast false option for CI * Update ROCM_VERSION variable to reflect docker changes * Specify TARBALL_ROCM_VERSION as separate * Add MI325 to debug pipeline errors * Move location of env variables * Only test on jammy for now, run all tests to assess other issues * test with branch that contains fix for openmp * Exclude "ompvv" We will re-add one ticket is fixed. * Test: Disable USE_MPI * Replace TheRock ROCm install with rocm-dev for now * Try out MI355 noble and MI325 for jammy/noble * Update amdgpu step to support different ROCm versions * Remove unused env variables --------- Co-authored-by: David Galiffi <David.Galiffi@amd.com>
ROCm Systems
Welcome to the ROCm Systems super-repo. This repository consolidates multiple ROCm systems projects into a single repository to streamline development, CI, and integration. The first set of projects focuses on requirements for building PyTorch.
Super-repo Status and CI Health
This table provides the current status of the migration of specific ROCm systems projects as well as a pointer to their current CI health.
Key:
- Completed: Fully migrated and integrated. This super-repo should be considered the source of truth for this project. The old repo may still be used for release activities.
- In Progress: Ongoing migration, tests, or integration. Please refrain from submitting new pull requests on the individual repo of the project, and develop on the super-repo.
- Pending: Not yet started or in the early planning stages. The individual repo should be considered the source of truth for this project.
Tentative migration schedule
| Component | Tentative Date |
|---|
*Remaining schedule to be determined.
TheRock CI Status
Note TheRock CI performs multi-component testing on top of builds leveraging TheRock build system.
Nomenclature
Project names have been standardized to match the casing and punctuation of released packages. This removes inconsistent camel-casing and underscores used in legacy repositories.
Structure
The repository is organized as follows:
projects/
amdsmi/
aqlprofile/
clr/
hip/
hipother/
hip-tests/
rccl/
rdc/
rocm-core
rocminfo/
rocmsmilib/
rocprofiler/
rocprofiler-compute/
rocprofiler-register/
rocprofiler-sdk/
rocprofiler-systems/
rocrruntime/
rocshmem/
roctracer/
- Each folder under
projects/corresponds to a ROCm systems project that was previously maintained in a standalone GitHub repository and released as distinct packages. - Each folder under
shared/contains code that existed in its own repository and is used as a dependency by multiple projects, but does not produce its own distinct packages in previous ROCm releases.
Goals
- Enable unified build and test workflows across ROCm libraries.
- Facilitate shared tooling, CI, and contributor experience.
- Improve integration, visibility, and collaboration across ROCm library teams.
Getting Started
To begin contributing or building, see the CONTRIBUTING.md guide. It includes setup instructions, sparse-checkout configuration, development workflow, and pull request guidelines.
License
This super-repo contains multiple subprojects, each of which retains the license under which it was originally published.
📁 Refer to the LICENSE, LICENSE.md, or LICENSE.txt file within each projects/ or shared/ directory for specific license terms.
📄 Refer to the header notice in individual files outside projects/ or shared/ folders for their specific license terms.
Note
: The root of this repository does not define a unified license across all components.
Questions or Feedback?
We're happy to help!