* Initial work in progress for compute CI workflow * Update run-ci.py script location, enable test creation * Add new lines to files * Add coverage file argument to run-ci.py * Remove run-ci.py script usage from rocprofiler-compute-continuous-integration.yml workflow * Add --break-system-packages parameter * Add --ignore-installed to pip install * Checkout specific branch until amdclang issue fixed in develop * Add missing slash to path for cxx compiler * Remove specific branch from checkout action * Use run-ci.py in rocprofiler-compute-continuous-integration.yml * Update install python requirements step * Fix typo in build-name * Update run-ci.py to have toggle for code coverage * Apply ruff formatting * Ruff again * Exclude live attach detach and roofline tests in CI * Add ctest args * Revert run-ci.py changes * Try new run-ci-2.py * Update type of pytest-numprocs argument * Try casting arg to str * Fix typo in arg reference * upgrade pip before running python installs * Use jammy instead of noble for CI * Remove python nproc arg from run-ci-2.py * Switch to MI325 runners for CI * Fix spacing issue * Rename run-ci.py to run-code-coverage.py, add new run-ci.py * Update to ROCm version 7.1.0 to debug sdk issues * Testing out tarball install again * Update regex on tarball version * Update tarball regex on compute * ruff formatting * Revert change to systems CI file * Switch back to rocm-dev install * ruff formatting again * Add ld_lib_path for rocm_sysdeps * Remove excluded tests temporarily * Add back excluded tests, add timeout for test step * Address PR feedback * Add git safe directory lines * Revert dependencies change to debug new failures * Exclude roofline again, rework dependencies * Add in hip-runtime-amd dependency * Install hip dev package * Add TEST_FROM_INSTALL cmake arg to compute CI workflow * Remove test_from_install for now * Enable roofline tests again
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!