You are not logged in.

#1 2020-05-10 14:20:44

08d09
Member
Registered: 2020-05-10
Posts: 12

OpenCL not working with 5700XT

Hello,

I have a 5700XT and a Radeon 2400 PRO in my system(for my VGA-only second monitor).

0b:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] (rev c1)
        Subsystem: Sapphire Technology Limited Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT]
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu

04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV610 [Radeon HD 2400 PRO]
        Subsystem: ASUSTeK Computer Inc. RV610 [Radeon HD 2400 PRO]
        Kernel driver in use: radeon
        Kernel modules: radeon

I want to use Opencl with the 5700XT but it doesn't work. I'm trying to use opencl-amd but whenever I run clinfo I get the following error:

amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
Segmentation fault (core dumped)

Google suggests that this error occurs when the radeon driver gets loaded instead of amdgpu but the 2400 PRO needs the radeon driver so I can't simply blacklist radeon. I'm using a custom kernel(5.6.2) and the open source amdgpu driver. Does anyone know how I can fix this?

Thanks in advance

Offline

#2 2020-05-10 14:37:00

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,768

Re: OpenCL not working with 5700XT

You need so set an environment variable to tell the OCL loader to only care about a specific card, see this post for example: https://bbs.archlinux.org/viewtopic.php … 8#p1812118

Offline

#3 2020-05-10 15:11:37

08d09
Member
Registered: 2020-05-10
Posts: 12

Re: OpenCL not working with 5700XT

Thanks but it still doesn't work, I have these two files under /etc/OpenCL/vendors

amdocl64.icd  amdocl-orca64.icd

and OCL_ICD_VENDORS doesn't seem to help

[user@archlinux VM]$ OCL_ICD_VENDORS=/etc/OpenCL/vendors/amdocl64.icd  clinfo
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
Segmentation fault (core dumped)
[user@archlinux VM]$ OCL_ICD_VENDORS=/etc/OpenCL/vendors/amdocl-orca64.icd  clinfo
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
Segmentation fault (core dumped)

It sounds unlikely but can my 2400 PRO force the kernel to use an old DRM version and cause this error?

Offline

#4 2020-05-11 11:11:23

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,961

Re: OpenCL not working with 5700XT

the *.icd files appear to be used to determine which libopencl library is used, but don't select a specific card.

It's not the drm version but the kernel module that matters.
I doubt very much amd devs anticipated a system needing both radeon & amdgpu kernel modules active simultaneously , but perhaps we can trick opencl-amd .

Is the amdgpu kernel module loaded before you run clinfo ? ( if unsure, run lsmod | grep amdgpu and post output )

If not, install it by running modprobe amdgpu (requires root rights) and try again.


If yes, try to ensure amdgpu is loaded before radeon (mkinitcpio modules line is one possibility to do this, https://wiki.archlinux.org/index.php/Mkinitcpio )


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

Board footer

Powered by FluxBB