Welcome to the ROCm Libraries monorepo. This repository consolidates multiple ROCm-related libraries and shared components into a single repository to streamline development, CI, and integration. The first set of libraries focuses on components required for building PyTorch.
This table provides the current status of the migration of specific ROCm libraries as well as a pointer to their current CI health.
Key:
- Completed: Fully migrated and integrated. This monorepo 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 monorepo.
- Pending: Not yet started or in the early planning stages. The individual repo should be considered the source of truth for this project.
| Component | Tentative Date |
|---|---|
composable_kernel |
TBD |
Remaining math libraries will be migrated in August
Note TheRock CI performs multi-component testing on top of builds leveraging TheRock build system.
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.
The repository is organized as follows:
projects/
composablekernel/
hipblas/
hipblas-common/
hipblaslt/
hipcub/
hipdnn/
hipfft/
hiprand/
hipsolver/
hipsparse/
hipsparselt/
hiptensor/
miopen/
rocblas/
rocfft/
rocprim/
rocrand/
rocsolver/
rocsparse/
rocthrust/
rocwmma/
shared/
rocroller/
tensile/
mxdatagenerator/
- Each folder under
projects/corresponds to a ROCm library 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 libraries, but does not produce its own distinct packages in previous ROCm releases.
- 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.
To begin contributing or building, see the CONTRIBUTING.md guide. It includes setup instructions, sparse-checkout configuration, development workflow, and pull request guidelines.
This monorepo 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.
- π¬ Start a discussion
- π Open an issue
We're happy to help!
When you open an issue in the rocm-libraries repo, please help us help you by being as clear and reproducible as possible. Before creating a new issue, please search existing ones to avoid duplicates. For bug reports, include a minimal reproducible example (or small test case) that triggers the error, along with full environment details (ROCm version, GPU, compiler, OS, etc.). If relevant, try to reduce the problem (e.g., smaller code snippet) to make diagnosis easier. Finally, if you have ideas for how to fix or improve something, feel free to suggest them β maintainers appreciate actionable feedback.
Be sure to check out the hipblaslt runtime error triage checklist for a detailed step-by-step process for identifying and reporting runtime errors so we have all of the information necessary to help resolve the issue quickly. While this checklist is specific to hipblaslt the same process is generally applicable to other rocm-libraries components.