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.
Communication
While separate from the AI/ML SIG, we do share communication channels for now. If you're interested, please join us on:
- #ai-ml@fedoraproject.org Matrix room
- #fedora-ai-ml on libera.chat IRC (NOTE: With the recent Matrix/IRC bridge issues, there may not be much activity on IRC. More conversation happens in the Matrix room)
- #ai-ml-sig on Fedora's Discourse instance
Members/Packagers/Reviewers
- Jeremy Newton (ROCm related)
- Felix Schwarz (currently busy with certbot, borgbackup, WeasyPrint)
- Benson Muite
- Morgan Hough (Intel related while testing SODECL on Intel NUCs)
- Tom Rix (ROCm)
- Tim Flink
- Brian Lu
- Jonathan Steffan
- David DUncan (currently working on Fedora Cloud Edition and want to build Deep Learning Images for public cloud)
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 (HIP,OpenCL)
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!
Update Policy
Upstream
ROCm's upstream release documentation is https://github.com/ROCm/ROCm/releases
ROCm follows a Major.Minor.Patchset release version. Changes to the Major version indicate that this is an ABI breaking change. These typically happen only once every year or two. Minor version indicate an improvement in basic functionally such as to support new hardware, these typically happen every 3-6 months. Finally Patchset releases happen as-needed to address problems with the current minor release and usually happen every 3-6 weeks.
Fedora Rawhide
Rawhide will follow all the public releases of ROCm except for
- Freezing rawhide before a release branch
- Individual package update has technical problems ex/ new build requirements.
The health of ROCm and its dependents are tracked with these COPRs
To determine if your package should be added to the COPRs, do this reverse dependency check against the ROCm runtime.
repoquery --recursive --whatrequires rocm-runtime | grep <package-to-check>
Fedora Releases
The Fedora Release of ROCm will be taken naturally from the branching of Rawhide. The rocm-packagers-sig will use their judgement to use the most stable ROCm release available within the 2-6 weeks before the branch date. The Fedora Release will be locked to the Major.Minor release. Only the Patchset version may change.
These COPR's are used to track the health of ROCm and its dependencies
EPEL
The EPEL release of ROCm happens by explicitly merging Rawhide to the development EPEL branch ex/ epel10. The rocm-packages-sig will use their judgement to use a stable ROCm release within minor branches of EPEL. The minor branches for EPEL ex/ epel10.3 will be locked to a Major.Minor release. Only the Patchset version may change.
These COPR's are used to track the health of ROCm and its dependencies.
- EPEL10
- EPEL 9 and earlier has no support
Updates
10.2
- Proposed update to 7.1.0
- Dependent Packages not owned by rocm-packagers-sig: None
- Dependent Packages with conflicts: N/A
10.1
- Initial enablement to 6.4.2.
- No Patchset updates
OpenSUSE/SUSE
Fedora shares the ROCm packages with OpenSUSE, here is the OpenSUSE development project. https://build.opensuse.org/project/show/science:GPU:ROCm
HW Support
To determine if your hardware is supported, run rocminfo
rocminfo
And review the lines, looking for output like
Name: gfx1201
And consulting the lists below. If you are unable to run rocminfo, consult Wiki: AMD GPUs. If your GPU is not listed and you would like it to be supported, file a feature request for the Fedora 'rocm' component.
Fedora 44, EPEL 10.2
gfx900 gfx906 gfx908 gfx90a gfx942 gfx950
gfx1010 gfx1012 gfx1030 gfx1031 gfx1035 gfx1036
gfx1100 gfx1101 gfx1102 gfx1103 gfx1150 gfx1151 gfx1152 gfx1153
gfx1200 gfx1201
Packages with limited gpu support
composable kernel : gfx11-generic gfx12-generic
hip-tests : gfx1100 gfx1101 gfx1102 gfx1151 gfx1200 gfx1201
hipblaslt : gfx90a gfx1100 gfx1101 gfx1103 gfx1150 gfx1151 gfx1200 gfx1201
hipsparselt : gfx90a gfx1100 gfx1101 gfx1200 gfx1201
rccl : gfx906 gfx908 gfx90a gfx942 gfx950 gfx1100 gfx1101 gfx1102 gfx1200 gfx1201
Fedora 43, EPEL 10.1
gfx900 gfx906 gfx908 gfx90a gfx942 gfx950
gfx1010 gfx1012 gfx1030 gfx1031 gfx1035
gfx1100 gfx1101 gfx1102 gfx1103 gfx1150 gfx1151 gfx1152 gfx1153
gfx1200 gfx1201
Fedora 42
gfx900 gfx906 gfx908 gfx90a gfx942
gfx1010 gfx1012 gfx1030 gfx1031 gfx1035
gfx1100 gfx1101 gfx1102 gfx1103 gfx1150 gfx1151 gfx1152
gfx1200 gfx1201
Fedora 41
gfx900 gfx906 gfx908 gfx90a gfx942
gfx1010 gfx1012 gfx1030 gfx1031
gfx1100 gfx1101 gfx1102
Installation
The official installation instructions can be found online from AMD here AMD ROCm installation for Linux
Quick Start
The official quick start is AMD Quick start installation guide . The drivers are built with the kernel so there is no need to check your kernel version. The GPU listed in the AMD documentation are a subset of those listed above. The latest Fedora should support the latest GPU or APU.
ROCm installation
Similar to the AMD documentation, for Fedora do
sudo usermod -a -G render,video $LOGNAME sudo dnf install rocm
Optionally for developers, do
sudo dnf install rocm-devel
AMDGPU driver installation
The AMDGPU driver is not required.
Verifying installation
To verify ROCm has been installed do
rocminfo
And the results should be similar to
ROCk module is loaded
=====================
HSA System Attributes
=====================
Runtime Version: 1.1
Runtime Ext Version: 1.7
...
*******
Agent 2
*******
Name: gfx1201
Uuid: GPU-7b2a57bc7a036a5f
Marketing Name: AMD Radeon Graphics
Vendor Name: AMD
...
To verify OpenCL has been installed do
rocm-clinfo
And the results should be similar to
Number of platforms: 1
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 2.1 AMD-APP (3649.0)
Platform Name: AMD Accelerated Parallel Processing
Platform Vendor: Advanced Micro Devices, Inc.
Platform Extensions: cl_khr_icd cl_amd_event_callback
Platform Name: AMD Accelerated Parallel Processing
Number of devices: 1
Device Type: CL_DEVICE_TYPE_GPU
Intel
TODO: incomplete, take me!
Packages
Packages that use HC
Blender
Build with:
rpmbuild --with rocm
