Experiments related to conda-forge packaging of ROCm.
This repository is just a container of experiments, it is not in any way a container of useful way of using ROCm in conda-forge.
If you are interested in ROCm support in conda-forge, please monitor official issues in conda-forge organizations like:
As a playground for official conda-forge PRs, this repo contains a way to build conda-forge feedstocks for ROCm packages:
pixi run build-packagesThe workspace defines two pixi environments for targeting different channels:
| Environment | Channel | Description |
|---|---|---|
default (includes strix-archs feature) |
rock-the-conda-strix |
Builds targeting Strix (gfx1150/gfx1151) architectures. This is the active development channel. |
all-archs |
rock-the-conda |
Builds targeting all ROCm GPU architectures. No work is currently done here. |
By default, pixi run build-packages builds and publishes to the rock-the-conda-strix channel. To build for all architectures instead (this is not currently tested in CI, so it may fail), use:
pixi run -e all-archs build-packagesThe recipe to build are configured in recipes folder and build in order the following feedstocks:
rocm-corerocm-cmakerocm-devices-libsrocm-comgrrocr-runtimerocminfohiprocm-smirocprimrocffthipfftroctracerhipblas-commonhiblasltrocblasrocsolverhipblasrocrandcomposable-kernelmiopen-hip
And the following downstream packages that uses rocm:
llama.cpp
Built packages will be placed in the output/ subdirectory of the folder. For simplify the debugging, some built packages are available in the following channels:
| Channel | Supported architectures | Description | Status |
|---|---|---|---|
| https://prefix.dev/channels/rock-the-conda-strix | gfx1150;gfx1151 |
Channel that contains packages that target Strix Halo and Strix Point systems. | Packages are currently uploaded here. |
| https://prefix.dev/channels/rock-the-conda | gfx908;gfx90a;gfx942;gfx950;gfx1030;gfx1100;gfx1101;gfx1102;gfx1150;gfx1151;gfx1200;gfx1201 |
Channel that contains packages that target all ROCm-supported architectures. | Work on this channel is currently on hold. |
A simple example of using rocm-powered llama.cpp targeting Strix Halo|Point systems (to verify if GPU is actually used) is available in examples/llama.cpp:
cd examples/llama.cpp
pixi run benchmark