Installing ROCM in TW and Leap

Reviving this old topic discussing installing ROCM in Leap and TW. Basically, the drivers AMD provides do not officially support either, although they should work with Leap. They also do not officially support Polaris and older, so lower than RX 500 series. The last version to support Polaris and newer was 4.3.1. The current version of ROCM is now 5.2.

Apparently there is a patch for Arch to make recent releases of ROCM work for older GPU’s -as they call it, a patch and an enhancement- streamlining install. It’s a flag that needs to be compiled into source. It’s probably not possible to do the same for openSUSE, but maybe there is still a way to get 4.3.1 working?

Has anyone figured this out? It’s a mess for every distribution right now except Arch.

Complains from Arch maintainer: AMD Posts Patch Enabling Vega APU/GPU Support For Blender's HIP Backend - Phoronix Forums

There are only 3 distros with AMD GPU support: Ubuntu, RHEL/CentOS/etc., SLE/openSUSE.
SLE 15 SP3 and SP4 are supported both (i.e. Leap 15.3 & 15.4 too).

According to (ROCm 5.0) https://docs.amd.com/bundle/Hardware_and_Software_Reference_Guide/page/Hardware_and_Software_Support.html

The following list of GPUs are enabled in the ROCm software, though full support is not guaranteed:

[ul]
[li]GFX8 GPUs[/li]> [LIST]
[li]“Polaris 11” chips, such as on the AMD Radeon RX 570 and Radeon Pro WX 4100 [/li]> [li]“Polaris 12” chips, such as on the AMD Radeon RX 550 and Radeon RX 540 [/li]> [/ul]

[li]GFX7 GPUs[/li]> [ul]
[li]“Hawaii” chips, such as the AMD Radeon R9 390X and FirePro W9100 [/li]> [/ul]

[/LIST]
As described in the next section, GFX8 GPUs require PCI Express 3.0 (PCIe 3.0) with support for PCIe atomics. This requires both CPU and motherboard support. GFX9 GPUs require PCIe 3.0 with support for PCIe atomics by default, but they can operate in most cases without this capability.
The integrated GPUs in AMD APUs are not officially supported targets for ROCm. As described below, “Carrizo”, “Bristol Ridge”, and “Raven Ridge” APUs are enabled in our upstream drivers and the ROCm OpenCL runtime. However, they are not enabled in the HIP runtime, and may not work due to motherboard or OEM hardware limitations. As such, they are not yet officially supported targets for ROCm.
For a more detailed list of hardware support, please see the following documentation.

AMD Radeon Software for Linux 22.10.2: https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-22-10-2
GCN2 (R9 360) is supported.

You can find older (and newer) releases at https://repo.radeon.com/.

Explain what do you need - ROCm or OpenCL.
For professional use you need GCN5/CDNA or newer. For simple usage of OpenCL you don’t need ROCm.

Blender 3.3+ may work with pre-GCN5 + HIP with patches: https://developer.blender.org/T96740#1386492

What I need is OpenCL support in TW. HOWEVER, installing it using the official AMD installer succeeds while ruining the desktop environment (sad face at start of Gnome) (OpenCL support is there, I just can’t use things like Darktable). I’m talking about the old version (in this case 20.45 pro), not ROCMm. These older versions of amdgpu-pro, that you linked, aren’t supported and have random issues like I mentioned. And at version 20.50 the installer changed in some way to make it completely unusable in TW.

So, my hope was to maybe switch to the more recent ROCm release since it is maintained and updated. Of course, it isn’t supported in TW, and not for most of their older GPU’s, but neither is amdgpu-pro, so might as well go for the recent releases. It seems Arch has a solution for these recent releases, which is why i’m asking about ROCm.

Hi
I have a GCN 4 and Nvidia card here on Tumbleweed… no pro driver installed, but ROCm (5.2) is…


clinfo | egrep -m 6 "Name|Vendor|Version"

  Platform Name                                   AMD Accelerated Parallel Processing
  Platform Vendor                                 Advanced Micro Devices, Inc.
  Platform Version                                OpenCL 2.1 AMD-APP (3452.0)
  Platform Name                                   NVIDIA CUDA
  Platform Vendor                                 NVIDIA Corporation
  Platform Version                                OpenCL 3.0 CUDA 11.7.99

/opt/rocm/bin/rocm-smi 


======================= ROCm System Management Interface =======================
================================= Concise Info =================================
GPU  Temp   AvgPwr   SCLK    MCLK     Fan     Perf  PwrCap  VRAM%  GPU%  
0    48.0c  12.043W  734Mhz  1500Mhz  33.73%  auto  35.0W    44%   0%    
================================================================================
============================= End of ROCm SMI Log ==============================

/opt/rocm/bin/rocminfo


ROCk module is loaded
....
....
*******                  
Agent 2                  
*******                  
  Name:                    gfx803                             
  Uuid:                    GPU-XX                             
  Marketing Name:          AMD Radeon RX 550 / 550 Series 


I have the same card. What install instructions did you use?

Hi
Add the repo and install…


zypper ar -f -g -n "ROCm 5.2 repository" https://repo.radeon.com/rocm/zyp/5.2/main/ ROCm-5.2

zypper in rocm-opencl rocm-opencl-devel rocminfo rocm-smi-lib

Wish it were that easy, but it didn’t work.

clinfo | egrep -m 6 "Name|Vendor|Version"
  Platform Name                                   AMD Accelerated Parallel Processing
  Platform Vendor                                 Advanced Micro Devices, Inc.
  Platform Version                                OpenCL 2.1 AMD-APP (3452.0)
  Platform Name                                   AMD Accelerated Parallel Processing

/opt/rocm/bin/rocm-smi
======================= ROCm System Management Interface =======================
WARNING: No AMD GPUs specified
================================= Concise Info =================================
GPU  Temp  AvgPwr  SCLK  MCLK  Fan  Perf  PwrCap  VRAM%  GPU%  
================================================================================
============================= End of ROCm SMI Log ==============================


/opt/rocm/bin/rocminfo
==========               
HSA Agents               
==========               
*******                  
Agent 1                  
*******                  
  Name:                    AMD Phenom(tm) II X4 940 Processor 
  Uuid:                    CPU-XX                             
  Marketing Name:          AMD Phenom(tm) II X4 940 Processor 


Hi
Motherboard might be a bit old? PCI 2.0?

This is all I have installed…

https://forums.opensuse.org/attachment.php?attachmentid=1106&stc=1

Screenshot from 2022-07-11 10-27-39.png

Your CPU is not supported with ROCm + GCN4. Upgrade CPU (and mobo), or upgrade GPU.

RTFM: https://docs.amd.com/bundle/Hardware_and_Software_Reference_Guide/page/Hardware_and_Software_Support.html

Supported CPUs

As described above, GFX8 GPUs require PCIe 3.0 with PCIe atomics in order to run ROCm. In particular, the CPU and every active PCIe point between the CPU and GPU require support for PCIe 3.0 and PCIe atomics. The CPU root must indicate PCIe AtomicOp Completion capabilities and any intermediate switch must indicate PCIe AtomicOp Routing capabilities.

Current CPUs which support PCIe Gen3 + PCIe Atomics are:

AMD Ryzen CPUs
The CPUs in AMD Ryzen APUs
AMD Ryzen Threadripper CPUs
AMD EPYC CPUs
Intel Xeon E7 v3 or newer CPUs
Intel Xeon E5 v3 or newer CPUs
Intel Xeon E3 v3 or newer CPUs
Intel Core i7 v4, Core i5 v4, Core i3 v4 or newer CPUs (i.e. Haswell family or newer)
Some Ivy Bridge-E systems

Beginning with ROCm 1.8, GFX9 GPUs (such as Vega 10) no longer require PCIe atomics. We have similarly opened up more options for number of PCIe lanes. GFX9 GPUs can now be run on CPUs without PCIe atomics and on older PCIe generations, such as PCIe 2.0. This is not supported on GPUs below GFX9, e.g. GFX8 cards in the Fiji and Polaris families.

Check it with


sudo dmesg | grep kfd

Try to install AMD OpenCL drivers, not ROCm.

Phenom I & II supports only PCIe 2.0 (2.1?). And it has no support for SSE 4.1, SSE 4.2, SSSE3, AVX, etc.

I ended up using this jank method from a comment on github. It works and my desktop doesn’t crash on startup. Only the part for opencl 1.2 support.

https://github.com/RadeonOpenCompute/ROCm/issues/1659#issuecomment-1039629459

You can get OpenCL 2.0 with PAL driver, which is newer than Orca.
Method is nearly the same.

You can install more than one OpenCL driver set.
I hope there will be working OpenCL Mesa 3D backend some day.

ILLperson from Phoronix forum was wrong, and Orca means Orca, not rebranded PAL.

Sorry for reviving this topic, but I’ve come up with a good solution. Hope it helps someone

https://en.opensuse.org/SDB:AMD_GPGPU

https://en.opensuse.org/SDB:AMD_GPGPU#AMD_ROCm