[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93453":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":9,"createdAt":9,"pushedAt":9,"updatedAt":21,"readmeContent":22,"aiSummary":9,"trendingCount":16,"starSnapshotCount":16,"syncStatus":23,"lastSyncTime":24,"discoverSource":25},93453,"TheRock","ROCm\u002FTheRock","ROCm","The HIP Environment and ROCm Kit - A lightweight open source build system for HIP and ROCm",null,"https:\u002F\u002Fgithub.com\u002FROCm\u002FTheRock","Python",1154,287,21,622,0,5,55.38,false,"main","2026-07-22 04:02:09","# TheRock\n\n[![pre-commit](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpre--commit-enabled-brightgreen?logo=pre-commit)](https:\u002F\u002Fgithub.com\u002Fpre-commit\u002Fpre-commit) [![Multi-arch CI](https:\u002F\u002Fgithub.com\u002FROCm\u002FTheRock\u002Factions\u002Fworkflows\u002Fmulti_arch_ci.yml\u002Fbadge.svg?branch=main&event=push)](https:\u002F\u002Fgithub.com\u002FROCm\u002FTheRock\u002Factions\u002Fworkflows\u002Fmulti_arch_ci.yml?query=branch%3Amain) [![Multi-arch CI ASan](https:\u002F\u002Fgithub.com\u002FROCm\u002FTheRock\u002Factions\u002Fworkflows\u002Fmulti_arch_ci_asan.yml\u002Fbadge.svg?branch=main)](https:\u002F\u002Fgithub.com\u002FROCm\u002FTheRock\u002Factions\u002Fworkflows\u002Fmulti_arch_ci_asan.yml?query=branch%3Amain)\n\nTheRock (The HIP Environment and ROCm Kit) is a lightweight open source build platform for HIP and ROCm. It is designed for ROCm contributors as well as developers, researchers, and advanced users who need access to the latest ROCm capabilities without the complexity of traditional package-based installations. The project is currently in an **early preview state** but is under active development and welcomes contributors. Come try us out! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for more info and the [FAQ](docs\u002Ffaq.md) for frequently asked questions.\n\n## Features\n\nTheRock includes:\n\n- Nightly releases of ROCm and PyTorch\n- A CMake super-project for HIP and ROCm source builds\n- Support for building PyTorch and JAX with ROCm from source\n- Operating system support including multiple Linux distributions and native Windows\n- Tools for developing individual ROCm components\n- Comprehensive CI\u002FCD pipelines for building, testing, and releasing supported components\n\n## Installing from releases\n\n> [!IMPORTANT]\n> See the [Releases Page](RELEASES.md) for instructions on how to install prebuilt\n> ROCm, PyTorch, and JAX packages.\n\n## Project status\n\nSee the unified project HUD at https:\u002F\u002Ftherock-hud.amd.com\u002F\n\n### Nightly release status\n\nMulti-arch releases (all GPU architectures):\n\n| Job description                        | Status                                                                                                                                                                                                                                                     |\n| -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Build ROCm artifacts\u002Ftarballs\u002Fpackages | [![Multi-Arch Release](https:\u002F\u002Fgithub.com\u002FROCm\u002Frockrel\u002Factions\u002Fworkflows\u002Fmulti_arch_release.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FROCm\u002Frockrel\u002Factions\u002Fworkflows\u002Fmulti_arch_release.yml)                                                                      |\n| Test ROCm artifacts                    | [![Test Artifacts](https:\u002F\u002Fgithub.com\u002FROCm\u002Frockrel\u002Factions\u002Fworkflows\u002Ftest_artifacts.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FROCm\u002Frockrel\u002Factions\u002Fworkflows\u002Ftest_artifacts.yml)                                                                                  |\n| Test ROCm native Linux packages        | [![Test Native Linux Packages Install](https:\u002F\u002Fgithub.com\u002FROCm\u002Frockrel\u002Factions\u002Fworkflows\u002Ftest_native_linux_packages_install.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FROCm\u002Frockrel\u002Factions\u002Fworkflows\u002Ftest_native_linux_packages_install.yml)                      |\n| PyTorch packages - Linux build\u002Ftest    | [![Multi-Arch Release Linux PyTorch Wheels](https:\u002F\u002Fgithub.com\u002FROCm\u002Frockrel\u002Factions\u002Fworkflows\u002Fmulti_arch_release_linux_pytorch_wheels.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FROCm\u002Frockrel\u002Factions\u002Fworkflows\u002Fmulti_arch_release_linux_pytorch_wheels.yml)       |\n| PyTorch packages - Windows build\u002Ftest  | [![Multi-Arch Release Windows PyTorch Wheels](https:\u002F\u002Fgithub.com\u002FROCm\u002Frockrel\u002Factions\u002Fworkflows\u002Fmulti_arch_release_windows_pytorch_wheels.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FROCm\u002Frockrel\u002Factions\u002Fworkflows\u002Fmulti_arch_release_windows_pytorch_wheels.yml) |\n| PyTorch packages - full tests          | [![Test PyTorch Wheels (Full Suite)](https:\u002F\u002Fgithub.com\u002FROCm\u002Frockrel\u002Factions\u002Fworkflows\u002Ftest_pytorch_wheels_full.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FROCm\u002Frockrel\u002Factions\u002Fworkflows\u002Ftest_pytorch_wheels_full.yml)                                            |\n| JAX packages - Linux build\u002Ftest        | [![Multi-Arch Release Linux JAX Wheels](https:\u002F\u002Fgithub.com\u002FROCm\u002Frockrel\u002Factions\u002Fworkflows\u002Fmulti_arch_release_linux_jax_wheels.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FROCm\u002Frockrel\u002Factions\u002Fworkflows\u002Fmulti_arch_release_linux_jax_wheels.yml)                   |\n\n## Building from source\n\nWe keep the following instructions for recent, commonly used operating system\nversions. Most build failures are due to minor operating system differences in\ndependencies and project setup. Refer to the\n[Environment Setup Guide](docs\u002Fenvironment_setup_guide.md) for contributed\ninstructions and configurations for alternatives.\n\n> [!TIP]\n> While building from source offers the greatest flexibility,\n> [installing from releases](#installing-from-releases) in supported\n> configurations is often faster and easier.\n\n> [!IMPORTANT]\n> Frequent setup and building problems and their solutions can be found in section [Common Issues](docs\u002Fenvironment_setup_guide.md#common-issues).\n\n### Setup - Ubuntu (24.04)\n\n> [!TIP]\n> `dvc` is used for version control of pre-compiled MIOpen kernels.\n> `dvc` is not a hard requirement, but it does reduce compile time.\n> `snap install --classic dvc` can be used to install on Ubuntu.\n> Visit the [DVC website](https:\u002F\u002Fdvc.org\u002Fdoc\u002Finstall\u002Flinux) for other installation methods.\n\n```bash\n# Install Ubuntu dependencies\nsudo apt update\nsudo apt install gfortran git ninja-build cmake g++ pkg-config xxd automake libtool python3-venv python3-dev libegl1-mesa-dev texinfo bison flex\n\n# Clone the repository\ngit clone https:\u002F\u002Fgithub.com\u002FROCm\u002FTheRock.git\ncd TheRock\n\n# Install a patched patchelf from source. For details see\n# https:\u002F\u002Fgithub.com\u002FROCm\u002FTheRock\u002Fblob\u002Fmain\u002Fdocs\u002Fenvironment_setup_guide.md#patchelf\nsudo apt install curl make\nsudo env INSTALL_PREFIX=\u002Fusr\u002Flocal .\u002Fdockerfiles\u002Finstall_pinned_patchelf.sh\n\n# Init python virtual environment and install python dependencies\npython3 -m venv .venv && source .venv\u002Fbin\u002Factivate\npip install --upgrade pip\npip install -r requirements.txt\n\n# Download submodules and apply patches\npython3 .\u002Fbuild_tools\u002Ffetch_sources.py\n```\n\n### Setup - Windows 11 (VS 2022)\n\n> [!IMPORTANT]\n> See [windows_support.md](.\u002Fdocs\u002Fdevelopment\u002Fwindows_support.md) for setup\n> instructions on Windows, in particular\n> the section for\n> [installing tools](.\u002Fdocs\u002Fdevelopment\u002Fwindows_support.md#install-tools).\n\nIf the build system is a non-English system. Make sure to switch to `utf-8`.\n\n```cmd\nchcp 65001\n```\n\n```bash\n# Install dependencies following the Windows support guide\n\n# Clone the repository\ngit clone https:\u002F\u002Fgithub.com\u002FROCm\u002FTheRock.git\ncd TheRock\n\n# Init python virtual environment and install python dependencies\npython -m venv .venv\n.venv\\Scripts\\Activate.bat\npip install --upgrade pip\npip install -r requirements.txt\n\n# Download submodules and apply patches\n# Note that dvc is used for pulling large files\npython .\u002Fbuild_tools\u002Ffetch_sources.py\n```\n\n### Build configuration\n\nThe build can be customized through cmake feature flags.\n\n#### Required configuration flags\n\n- `-DTHEROCK_AMDGPU_FAMILIES=`\n\n  or\n\n- `-DTHEROCK_AMDGPU_TARGETS=`\n\n> [!NOTE]\n> Not all family and targets are currently supported.\n> See [therock_amdgpu_targets.cmake](cmake\u002Ftherock_amdgpu_targets.cmake) file\n> for available options.\n\n#### Discovering available targets on your system\n\nIn case you don't have an existing ROCm\u002FHIP installation from which you can run any of these tools:\n\n| Tool                    | Platform |\n| ----------------------- | -------- |\n| `amd-smi`               | Linux    |\n| `rocm-smi`              | Linux    |\n| `rocm_agent_enumerator` | Linux    |\n| `hipinfo`               | Windows  |\n| `offload-arch`          | Both     |\n\nYou can install the `rocm` Python package for any architecture inside a venv and run `offload-arch` from there:\n\n1. `python build_tools\u002Fsetup_venv.py --index-name nightly --packages rocm .tmpvenv`\n1. `.tmpvenv\u002Fbin\u002Foffload-arch` on Linux, `.tmpvenv\\Scripts\\offload-arch` on Windows\n1. `rm -rf .tmpvenv`\n\n#### Optional configuration flags\n\nBy default, the project builds everything available. The following group flags\nenable\u002Fdisable selected subsets:\n\n| Group flag                         | Description                          |\n| ---------------------------------- | ------------------------------------ |\n| `-DTHEROCK_ENABLE_ALL=OFF`         | Disables all optional components     |\n| `-DTHEROCK_ENABLE_CORE=OFF`        | Disables all core components         |\n| `-DTHEROCK_ENABLE_COMM_LIBS=OFF`   | Disables all communication libraries |\n| `-DTHEROCK_ENABLE_DEBUG_TOOLS=OFF` | Disables all debug tools             |\n| `-DTHEROCK_ENABLE_MATH_LIBS=OFF`   | Disables all math libraries          |\n| `-DTHEROCK_ENABLE_ML_LIBS=OFF`     | Disables all ML libraries            |\n| `-DTHEROCK_ENABLE_PROFILER=OFF`    | Disables profilers                   |\n| `-DTHEROCK_ENABLE_DC_TOOLS=OFF`    | Disables data center tools           |\n| `-DTHEROCK_ENABLE_MEDIA_LIBS=OFF`  | Disables all media libraries         |\n| `-DTHEROCK_ENABLE_WSL=ON`          | Enables WSL-specific artifacts       |\n| `-DTHEROCK_ENABLE_EMULATION=ON`    | Enables emulation tools              |\n\nIndividual features can be controlled separately (typically in combination with\n`-DTHEROCK_ENABLE_ALL=OFF` or `-DTHEROCK_RESET_FEATURES=ON` to force a\nminimal build):\n\n| Component flag                         | Description                                         |\n| -------------------------------------- | --------------------------------------------------- |\n| `-DTHEROCK_ENABLE_AMD_DBGAPI=ON`       | Enables the ROCm debug API library                  |\n| `-DTHEROCK_ENABLE_COMPILER=ON`         | Enables the GPU+host compiler toolchain             |\n| `-DTHEROCK_ENABLE_CORE_AMDSMI=ON`      | Enables the AMD System Management Interface library |\n| `-DTHEROCK_ENABLE_HIPIFY=ON`           | Enables the hipify tool                             |\n| `-DTHEROCK_ENABLE_CORE_RUNTIME=ON`     | Enables the core runtime components and tools       |\n| `-DTHEROCK_ENABLE_HIP_RUNTIME=ON`      | Enables the HIP runtime components                  |\n| `-DTHEROCK_ENABLE_OCL_RUNTIME=ON`      | Enables the OpenCL runtime components               |\n| `-DTHEROCK_ENABLE_WSL_ROCDXG=ON`       | Enables the WSL ROCDXG bridge library               |\n| `-DTHEROCK_ENABLE_ROCGDB=ON`           | Enables the ROCm debugger (ROCgdb)                  |\n| `-DTHEROCK_ENABLE_ROCPROFV3=ON`        | Enables rocprofv3                                   |\n| `-DTHEROCK_ENABLE_ROCPROFSYS=ON`       | Enables rocprofiler-systems                         |\n| `-DTHEROCK_ENABLE_RCCL=ON`             | Enables RCCL                                        |\n| `-DTHEROCK_ENABLE_ROCSHMEM=ON`         | Enables rocSHMEM                                    |\n| `-DTHEROCK_ENABLE_HIPFILE=ON`          | Enables hipFile                                     |\n| `-DTHEROCK_ENABLE_ROCR_DEBUG_AGENT=ON` | Enables the ROCR debug agent library                |\n| `-DTHEROCK_ENABLE_PRIM=ON`             | Enables the PRIM library                            |\n| `-DTHEROCK_ENABLE_BLAS=ON`             | Enables the BLAS libraries                          |\n| `-DTHEROCK_ENABLE_RAND=ON`             | Enables the RAND libraries                          |\n| `-DTHEROCK_ENABLE_SOLVER=ON`           | Enables the SOLVER libraries                        |\n| `-DTHEROCK_ENABLE_SPARSE=ON`           | Enables the SPARSE libraries                        |\n| `-DTHEROCK_ENABLE_MIOPEN=ON`           | Enables MIOpen                                      |\n| `-DTHEROCK_ENABLE_MIOPEN_PLUGIN=ON`    | Enables MIOpen_plugin                               |\n| `-DTHEROCK_ENABLE_HIPDNN_SAMPLES=ON`   | Enables hipDNN samples (hipDNN Usage Examples)      |\n| `-DTHEROCK_ENABLE_HIPDNN=ON`           | Enables hipDNN                                      |\n| `-DTHEROCK_ENABLE_HIPTENSOR=ON`        | Enables hipTensor                                   |\n| `-DTHEROCK_ENABLE_HIPBLASLT_PLUGIN=ON` | Enables hipBLASLt Plugin                            |\n| `-DTHEROCK_ENABLE_ROCWMMA=ON`          | Enables rocWMMA                                     |\n| `-DTHEROCK_ENABLE_ROCALUTION=ON`       | Enables rocALUTION                                  |\n| `-DTHEROCK_ENABLE_RDC=ON`              | Enables ROCm Data Center Tool (Linux only)          |\n| `-DTHEROCK_ENABLE_LIBHIPCXX=ON`        | Enables libhipcxx                                   |\n| `-DTHEROCK_ENABLE_SYSDEPS_AMD_MESA=ON` | Enables AMD Mesa for media libs (Linux only)        |\n| `-DTHEROCK_ENABLE_ROCDECODE=ON`        | Enables rocDecode video decoder (Linux only)        |\n| `-DTHEROCK_ENABLE_ROCJPEG=ON`          | Enables rocJPEG JPEG decoder (Linux only)           |\n| `-DTHEROCK_ENABLE_ROCJITSU=ON`         | Enables ROCm emulation tools (Linux only)           |\n\nhipDNN provider plugins:\n\n| Provider flag                           | Description                               |\n| --------------------------------------- | ----------------------------------------- |\n| `-DTHEROCK_ENABLE_MIOPENPROVIDER=ON`    | Enables hipDNN MIOpen-provider plugin     |\n| `-DTHEROCK_ENABLE_HIPBLASLTPROVIDER=ON` | Enables hipDNN hipBLASLt-provider plugin  |\n| `-DTHEROCK_ENABLE_HIPKERNELPROVIDER=ON` | Enables hipDNN hip kernel provider plugin |\n\n> [!TIP]\n> Enabling any features will implicitly enable their *minimum* dependencies. Some\n> libraries (like MIOpen) have a number of *optional* dependencies, which must\n> be enabled manually if enabling\u002Fdisabling individual features.\n\n> [!TIP]\n> A report of enabled\u002Fdisabled features and flags will be printed on every\n> CMake configure.\n\nBy default, components are built from the sources fetched via the submodules.\nFor some components, external sources can be used by setting the following couple\noptions:\n\n| External source settings                         | Description                                             |\n| ------------------------------------------------ | ------------------------------------------------------- |\n| `-DTHEROCK_USE_EXTERNAL_\u003CCOMPONENT STRING>=OFF`  | Enable\u002FDisable external source location for a component |\n| `-DTHEROCK_\u003CCOMPONENT_STRING>_SOURCE_DIR=\u003CPATH>` | External path to the component sources                  |\n\nThe following components accept specifying alternative source locations:\n\n| Component string    |\n| ------------------- |\n| `COMPOSABLE_KERNEL` |\n| `ROCGDB`            |\n\nFurther flags allow to build components with specific features enabled.\n\n| Other flags                                       | Description                                                              |\n| ------------------------------------------------- | ------------------------------------------------------------------------ |\n| `-DTHEROCK_ENABLE_MPI=OFF`                        | Enables building components with Message Passing Interface (MPI) support |\n| `-DTHEROCK_COMPOSABLE_KERNEL_FOR_MIOPEN_ONLY=OFF` | Builds composable_kernel with only the targets required for MIOpen       |\n\n> [!NOTE]\n> Building components with MPI support, currently requires MPI to be\n> pre-installed until [issue #1284](https:\u002F\u002Fgithub.com\u002FROCm\u002FTheRock\u002Fissues\u002F1284)\n> is resolved.\n\n### CMake build usage\n\nFor workflows that demand frequent rebuilds, it is _recommended to build it with ccache_ enabled to speed up the build.\nSee instructions in the next section for [Linux](#ccache-usage-on-linux) and [Windows](#ccache-usage-on-windows).\n\nOtherwise, ROCm\u002FHIP can be configured and build with just the following commands:\n\n```bash\ncmake -B build -GNinja . -DTHEROCK_AMDGPU_FAMILIES=gfx110X-all\ncmake --build build\n```\n\n#### CCache usage on Linux\n\nTo build with the [ccache](https:\u002F\u002Fccache.dev\u002F) compiler cache:\n\n- You must have a recent ccache (>= 4.11 at the time of writing) that supports\n  proper caching with the `--offload-compress` option used for compressing\n  AMDGPU device code.\n- `export CCACHE_SLOPPINESS=include_file_ctime` to support hard-linking\n- Proper setup of the `compiler_check` directive to do safe caching in the\n  presence of compiler bootstrapping\n- Set the C\u002FCXX compiler launcher options to cmake appropriately.\n\nSince these options are very fiddly and prone to change over time, we recommend\nusing the `.\u002Fbuild_tools\u002Fsetup_ccache.py` script to create a `.ccache` directory\nin the repository root with hard coded configuration suitable for the project.\n\nExample:\n\n```bash\n# Any shell used to build must eval setup_ccache.py to set environment\n# variables.\neval \"$(.\u002Fbuild_tools\u002Fsetup_ccache.py)\"\ncmake -B build -GNinja -DTHEROCK_AMDGPU_FAMILIES=gfx110X-all \\\n  -DCMAKE_C_COMPILER_LAUNCHER=ccache \\\n  -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \\\n  .\n\ncmake --build build\n```\n\n#### CCache usage on Windows\n\n- You must have a recent ccache (>= 4.13.3 at the time of writing) that contains\n  bug fixes for MSVC and supports proper caching with the `--offload-compress`\n  option used for compressing AMDGPU device code.\n- `export CCACHE_SLOPPINESS=include_file_ctime,pch_defines,time_macros` to\n  support hard-linking and precompiled headers (amd-llvm is built with PCH).\n- Proper setup of the `compiler_check` directive to do safe caching in the\n  presence of compiler bootstrapping.\n- Set the C\u002FCXX compiler launcher options to cmake appropriately.\n\nSince these options are very fiddly and prone to change over time, we recommend\nusing the `.\u002Fbuild_tools\u002Fsetup_ccache.py` script to create a `.ccache` directory\nin the repository root with hard coded configuration suitable for the project.\n\nExample (In Command Prompt):\n\n```bat\n# Any command prompt used to build must eval setup_ccache.py to set environment\n# variables.\nfor \u002Ff \"delims=\" %i in ('python build_tools\u002Fsetup_ccache.py') do @%i\n\ncmake -B build -GNinja -DTHEROCK_AMDGPU_FAMILIES=gfx110X-all \\\n  -DCMAKE_C_COMPILER_LAUNCHER=ccache ^\n  -DCMAKE_CXX_COMPILER_LAUNCHER=ccache ^\n  .\n\ncmake --build build\n```\n\n### Running tests\n\nProject-wide testing can be controlled with the standard CMake `-DBUILD_TESTING=ON|OFF` flag. This gates both setup of build tests and compilation of installed testing artifacts.\n\nTests of the integrity of the build are enabled by default and can be run\nwith ctest:\n\n```\nctest --test-dir build\n```\n\nTesting functionality on an actual GPU is in progress and will be documented\nseparately.\n\n## Development manuals\n\n- [FAQ](docs\u002Ffaq.md): Frequently asked questions for TheRock users.\n- [Contribution Guidelines](CONTRIBUTING.md): Documentation for the process of contributing to this project including a quick pointer to its governance.\n- [Development Guide](docs\u002Fdevelopment\u002Fdevelopment_guide.md): Documentation on how to use TheRock as a daily driver for developing any of its contained ROCm components (i.e. vs interacting with each component build individually).\n- [Build System](docs\u002Fdevelopment\u002Fbuild_system.md): More detailed information about TheRock's build system relevant to people looking to extend TheRock, add components, etc.\n- [Environment Setup Guide](docs\u002Fenvironment_setup_guide.md): Comprehensive guide for setting up a build environment, known workarounds, and other operating specific information.\n- [Git Chores](docs\u002Fdevelopment\u002Fgit_chores.md): Procedures for managing the codebase, specifically focused on version control, upstream\u002Fdownstream, etc.\n- [Dependencies](docs\u002Fdevelopment\u002Fdependencies.md): Further specifications on ROCm-wide standards for depending on various components.\n- [Dockerfiles for TheRock](dockerfiles\u002FREADME.md): Information about containers used for building, testing, and distributing ROCm using TheRock.\n- [Build Artifacts](docs\u002Fdevelopment\u002Fartifacts.md): Documentation about the outputs of the build system.\n- [Releases Page](RELEASES.md): Documentation for how to leverage our build artifacts.\n- [Supported GPUs](SUPPORTED_GPUS.md): Current support status and prioritized roadmap for each AMD GPU architecture.\n",2,"2026-07-19 02:30:03","trending"]