From Fedora Project Wiki

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:

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 (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!


Name Fedora Package EPEL? Upstream package name Upstream URL Notes
amdsmi amdsmi amdsmi https://github.com/ROCm/amdsmi
hipblas hipblas hipblas https://github.com/rocmsoftwareplatform/hipblas
hsakmt hsakmt Yes roct-thunk-interface https://github.com/radeonopencompute/roct-thunk-interface obsolete after ROCm 6.2
rocclr rocclr Yes clr https://github.com/ROCm/clr
rocdecode rocdecode rocDECODE https://github.com/ROCm/rocDECODE
rocm-compilersupport rocm-compilersupport llvm-project https://github.com/ROCm/llvm-project
rocm-core rocm-core rocm-core https://github.com/ROCm/rocm-core
rocm-omp rocm-omp llvm-project https://github.com/ROCm/llvm-project
rocm-rpp rocm-rpp RPP https://github.com/ROCm/RPP
rocminfo rocminfo Yes rocminfo https://github.com/radeonopencompute/rocminfo
rocr-runtime rocm-runtime Yes ROCR-Runtime https://github.com/ROCm/ROCR-Runtime
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-device-libs rocm-device-libs Yes rocm-device-libs https://github.com/radeonopencompute/rocm-device-libs obsolete after ROCm 6.2
rocm-opencl-runtime rocm-opencl 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 rocm-smi rocm-smi-lib https://github.com/radeonopencompute/rocm_smi_lib
hipamd rocm-hip hip-runtime-amd https://github.com/rocm-developer-tools/hipamd rocm-hip is a subpackage of rocclr
hip-samples hip-samples requires better cmake infra from upstream
rocm-cmake rocm-cmake rocm-cmake https://github.com/radeonopencompute/rocm-cmake Needed by most of the roc* and hip* packages below
hipsparse hipsparse hipsparse https://github.com/rocmsoftwareplatform/hipsparse
rocalution rocalution rocalution https://github.com/rocmsoftwareplatform/rocalution
rocblas rocblas rocblas https://github.com/rocmsoftwareplatform/rocblas
rocfft rocfft rocfft https://github.com/rocmsoftwareplatform/rocfft
hipfft hipfft hipfft https://github.com/rocmsoftwareplatform/hipfft
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
hipcub hipcub hipcub https://github.com/rocmsoftwareplatform/hipcub
hiprand hiprand hipRAND https://github.com/ROCm/hipRAND
rocsolver rocsolver rocsolver https://github.com/rocmsoftwareplatform/rocsolver
rocsparse rocsparse rocsparse https://github.com/rocmsoftwareplatform/rocsparse
rocthrust rocthrust rocthrust https://github.com/rocmsoftwareplatform/rocthrust
miopen miopen miopen https://github.com/rocmsoftwareplatform/miopen
rccl rccl rccl https://github.com/rocmsoftwareplatform/rccl no gfx10,gfx1103 support
rocdbgapi In Review rocm-dbgapi https://github.com/rocm-developer-tools/rocdbgapi Review Link
rocgdb rocm-gdb https://github.com/rocm-developer-tools/rocgdb A fork of gdb with ROCm related addons, Requires rocdbgapi
rocjpeg rocjpeg rocJPEG https://github.com/ROCm/rocJPEG
rocprofiler rocprofiler https://github.com/rocm-developer-tools/rocprofiler BLOCKED - requires hsa-amd-aqlprofile, a closed source package
roctracer roctracer roctracer https://github.com/rocm-developer-tools/roctracer
composable_kernel https://bugzilla.redhat.com/show_bug.cgi?id=2336118 composable_kernel https://github.com/ROCmSoftwarePlatform/composable_kernel
hipify hipify hipify https://github.com/ROCm-Developer-Tools/HIPIFY
hipblaslt hipblaslt hipblaslt https://github.com/ROCm/hipBLASLt
rocal rocal rocal https://github.com/ROCm/RocAL
rocm rocm For getting all the ROCm package
rocm-examples https://bugzilla.redhat.com/show_bug.cgi?id=2354220 rocm-examples https://github.com/ROCm/rocm-examples
tensile python-tensile Tensile https://github.com/rocmsoftwareplatform/tensile

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

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

General

Upstream only officially supports x86_64, but they are open to pcc64le and arm64 patches

Some ROCm packages in Fedora are built for all 64bit little endian systems (x86_64, arm64, ppc64le), but official support is for x86_64.

Installation

Setup

To enable access to GPU resources for non-root users, the users must be added to the video (graphics) and render (compute) group. The AMD ROCm Installation Guide (6.0.0) recommends the video and render group for all ROCm-supported operating systems.

To add the current user to the render group:

   sudo usermod -a -G render,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