Heterogeneous Computing Special Interest Group
Mission
To encourage the packaging and accessibility of heterogeneous computing projects in Fedora and EPEL. This includes machine learning, OpenCL, and scientific computing.
Members/Packagers/Reviewers
Please add your name above if you want to help.
Tasks
- Package and make HC related projects more accessible to users (such as OpenCL, AMD's ROCm HIP, Intel oneAPI, SYCL, Vulkan, OpenGL, etc.)
- Document installation, packages, and general use cases
- Translation of wiki pages and documentation (if applicable)
AMD's ROCm (OpenCL/HIP)
Package status
Below is a list of ROCm packages with their status.
If something isn't packaged in Fedora or EPEL, feel free to take it!
For reference, pytorch still requires:
rocblas, miopen, rocfft, hipfft, hipsparse, rccl, rocprim, hipcub, rocthrust
Name |
Fedora Package |
EPEL? |
Upstream package name |
Upstream URL |
Notes |
|
roct-thunk-interface |
hsakmt |
Yes |
hsakmt-roct |
https://github.com/radeonopencompute/roct-thunk-interface |
|
|
rocr-runtime |
rocm-runtime |
Yes |
hsa-rocr |
https://github.com/radeonopencompute/rocr-runtime |
|
|
rocminfo |
rocminfo |
Yes |
rocminfo |
https://github.com/radeonopencompute/rocminfo |
|
|
rocm-compilersupport |
rocm-compilersupport |
Yes |
comgr |
https://github.com/radeonopencompute/rocm-compilersupport |
|
|
rocm-device-libs |
rocm-device-libs |
Yes |
rocm-device-libs |
https://github.com/radeonopencompute/rocm-device-libs |
|
|
opencl-icd-loader |
|
|
rocm-ocl-icd |
https://github.com/KhronosGroup/OpenCL-ICD-Loader |
Fedora already has ocl-icd , but the khronos version is required for GL-CL interop support |
|
rocm-opencl-runtime |
rocm-opencl (F38 or newer), rocm-opencl (F37 or older) |
Yes |
rocm-opencl |
https://github.com/radeonopencompute/rocm-opencl-runtime |
rocm-opencl is now a sub-package of rocclr in Fedora 38+ |
|
rocm_smi_lib |
In Review |
|
rocm-smi-lib |
https://github.com/radeonopencompute/rocm_smi_lib |
Package review: https://bugzilla.redhat.com/show_bug.cgi?id=2217097
|
hipamd |
rocm-hip |
|
hip-runtime-amd |
https://github.com/rocm-developer-tools/hipamd |
rocm-hip is a subpackage of rocclr, currently in f38 updates testing: https://bodhi.fedoraproject.org/updates/FEDORA-2023-a53dd0f60b |
|
hip |
hip |
|
hip-[devel,docs] |
https://github.com/rocm-developer-tools/HIP |
hip-devel is a subpackage of rocclr |
|
hip-samples |
|
|
hip-samples |
|
|
rocm-cmake |
rocm-cmake |
|
rocm-cmake |
https://github.com/radeonopencompute/rocm-cmake |
Needed by most of the roc* and hip* packages below |
|
hipblas |
|
|
hipblas |
https://github.com/rocmsoftwareplatform/hipblas |
requires rocblas, rocsolver, rocsparse, tensile |
|
hipsparse |
|
|
hipsparse |
https://github.com/rocmsoftwareplatform/hipsparse |
Requires rocsparse? |
|
rocalution |
|
|
rocalutio |
https://github.com/rocmsoftwareplatform/rocalution |
Requires rocblas |
|
rocblas |
|
|
rocblas |
https://github.com/rocmsoftwareplatform/rocblas |
requires tensile, Jeremy Newton is working on this |
|
rocfft |
|
|
rocfft |
https://github.com/rocmsoftwareplatform/rocfft |
tflink is working on this |
|
hipfft |
|
|
? |
https://github.com/rocmsoftwareplatform/hipfft |
Requires rocfft |
|
rocmvalidationsuite |
|
|
rocm-validation-suite |
https://github.com/rocm-developer-tools/rocmvalidationsuite |
requires rocblas, rocm_smi_lib |
|
rocprim |
rocprim |
|
rocprim |
https://github.com/rocmsoftwareplatform/rocprim |
|
|
rocrand |
rocrand |
|
rocrand |
https://github.com/rocmsoftwareplatform/rocrand |
Also includes hiprand subpackage |
|
rocsolver |
|
|
rocsolver |
https://github.com/rocmsoftwareplatform/rocsolver |
|
|
rocsparse |
|
|
rocsparse |
https://github.com/rocmsoftwareplatform/rocsparse |
trix is working on this |
|
rocthrust |
|
|
? |
https://github.com/rocmsoftwareplatform/rocthrust |
package review: https://bugzilla.redhat.com/show_bug.cgi?id=2219149 |
|
hipcub |
|
|
? |
https://github.com/rocmsoftwareplatform/hipcub |
|
|
rccl |
|
|
? |
https://github.com/rocmsoftwareplatform/rccl |
requires smi |
|
miopen |
|
|
? |
https://github.com/rocmsoftwareplatform/miopen |
requires rocblas |
|
tensile |
|
|
? |
https://github.com/rocmsoftwareplatform/tensile |
requires smi, Jeremy Newton is working on this |
|
rocdbgapi |
|
|
rocm-dbgapi |
https://github.com/rocm-developer-tools/rocdbgapi |
tflink is working on this |
|
rocgdb |
|
|
rocm-gdb |
https://github.com/rocm-developer-tools/rocgdb |
A fork of gdb with ROCm related addons, Requires rocdbgapi tflink is working on this |
|
rocprofiler |
|
|
rocprofiler |
https://github.com/rocm-developer-tools/rocprofiler |
|
|
roctracer |
|
|
roctracer |
https://github.com/rocm-developer-tools/roctracer |
|
|
HW Support
Upstream only officially supports x86_64, but they are open to pcc64le and arm64 patches
The ROCm packages in Fedora are built for all 64bit little endian systems (x86_64, arm64, ppc64le), but official support is for x86_64.
HW support is highly dependent on LLVM version included in Fedora, so if you have newer HW, you might need to wait for newer LLVM versions to be introduced to Fedora (usually in the spring and the autumn).
Note that your millage may vary, as pre vega HW on ROCm is experimental, missing functionality, and not guaranteed to work on all HW
Installation
Setup
To enable access to GPU resources for non-root users, the users must be added to the video
or render
group. The AMD ROCm Installation Guide (v5.2) and FAQs recommend the video
group for all ROCm-supported operating systems.
Note:
The render
group is only required for Ubuntu v20.04.
To add the current user to the video
group:
sudo usermod -a -G video $LOGNAME
To check for ROCm support of the running HW, you can install and run rocminfo
:
sudo dnf install rocminfo
rocminfo
OpenCL
ROCm OpenCL can be installed with:
sudo dnf install rocm-opencl
As well, rocm-clinfo
or clinfo
can be installed to verify it is working, e.g.:
sudo dnf install rocm-clinfo
rocm-clinfo
HIP
HIP is included in Fedora 39 and is pending for Fedora 38.
For Fedora 38, you will need to add --enable-repo=updates-testing to dnf if it's not available yet.
Install with:
sudo dnf install rocm-hip
For use with Blender, you might need to also install "rocm-hip-devel" if it does not detect HIP.
Intel
TODO: incomplete, take me!
Packages
Packages that use HC
Blender
Build with:
rpmbuild --with rocm