Amdgpu with opencl


I updated my system on 2020/11/28 after which leelaz (go ai) does not run anymore. The error the program (Lizzie) provides is Check your OpenCL drivers. It also states:

terminate called after throwing an instance of ‘std::runtime_error’
what(): Failed to initialize net.

if I run the program in --cpu-only mode it works, which means the GPU driver is giving problems and it seems related to the OpenCL libraries.

I used timeshift to revert back to before the update and leelaz ran fine again. I then ignored any packages I figrued may cause the problem but this did not work. I am unable to find out which package is causing the program to throw this runtime error. Packages I ignored:
vulkan-icd-loader ocl-icd lib32-vulkan-icd-loader amd-ucode opencl-mesa openal openblas vulkan-intel xf86-video-amdgpu vulkan-radeon mhwd-amdgpu

Graphics card:

  Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] 
  vendor: XFX Pine driver: amdgpu v: kernel bus ID: 06:00.0 chip ID: 1002:67df 
  Display: x11 server: 1.20.9 compositor: gnome-shell v: 3.38.1 
  driver: amdgpu,ati unloaded: modesetting alternate: fbdev,vesa 
  resolution: <xdpyinfo missing> 
  OpenGL: renderer: Radeon RX 580 Series (POLARIS10 DRM 3.35.0 
  5.4.80-2-MANJARO LLVM 11.0.0) 
  v: 4.6 Mesa 20.2.3 direct render: Yes 

Any ideas what I could try to solve this?

opencl-amd is in the AUR.
If you have it already it may need to be rebuilt.

1 Like

Installed opencl-amd. A different error happens much sooner now: Initializing OpenCL (autodetecting precision)

I will try and debug (google) this error. Maybe I can get to the bottom of it. Thanks for the suggestion.

At a loss here, to be honest :frowning:

clinfo says this at the end:

ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.13
ICD loader Profile OpenCL 3.0
NOTE: your OpenCL library declares to support OpenCL 3.0,
but it seems to support up to OpenCL 2.2 only.

Do you think this may be a part of the problem? I will see if I can downgrade the ICD loader. Somehow.

One last comment:

There is a test(s) one can run once leelaz was compiled. This used to fail, once I installed the opencl-amd package you suggested the tests all passed.

Awesome! Thank you for mentioning opencl-amd. I had just left Nvidia for a PowerColor Radeon RX 5600 XT and was just looking at how to enabled OpenCL with the open-source amdgpu driver for use with programs like darktable, blender, etc…

Heya, so I recently switched from Ubuntu to manjaro and here are a few questions:

  • I used to install opencl through a gist on github that used the AUR package. In the instructions, it said to uninstall mesa-opencl-icd. Do I need to do it here as well ? I can’t tell if the card is detected twice (which apparently is bad for “BOINC”)
  • I got it working after rebuilding the opencl-amd package from AUR. clinfo and clpeak detect my card, but I get this :
    Build Log: fatal error: cannot open file '/usr/share/clc/gfx1010-amdgcn-mesa-mesa3d.bc': No such file or directory
  • Is there a specific kernel better suited for blender type work with opencl ?

Hi there. Unfortunately I have no answer(s) for you. Some years ago I also moved from Ubuntu to Manjaro and I have not looked back. Apart from a few hiccups such as this it has been a great experience.

Manjaro is awesome :slight_smile:

(On a side note to “answer” my initial question, I switched to the go ai ‘katago’ from ‘leelaz’ as I could not solve the opencl FW issue).

So the reason for my message… I just opened Blender (2.92.0) and it seemed quite happy on my system:

5.12.1-2-MANJARO x86_64 GNU/Linux

So kernel 5.12

Short of being simply annoying I will mention - many times a “No such file or directory” error is a missing dependency (as opposed to a wrongly referenced one). So finding and installing ‘clc’ and/or ‘gfx1010-amdgcn’ packages may solve the issue…

Sorry if I am not very helpful. I hope you get sorted soonest!