我的笔记本电脑有两个 GPU:集成 Radeon GPU 和独立 NVIDIA GPU,如 inxi 所示:
$ inxi -G
Graphics:
Device-1: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q] driver: nvidia
v: 535.86.05
Device-2: AMD Cezanne [Radeon Vega Series / Radeon Mobile Series]
driver: amdgpu v: kernel
Device-3: Quanta HD User Facing type: USB driver: uvcvideo
Display: x11 server: X.Org v: 1.21.1.7 with: Xwayland v: 22.1.8 driver: X:
loaded: amdgpu,nvidia unloaded: fbdev,modesetting,nouveau,radeon,vesa
dri: radeonsi gpu: amdgpu resolution: 1920x1080~144Hz
API: OpenGL v: 4.6 Mesa 23.0.4-0ubuntu1~23.04.1 renderer: AMD Radeon
Graphics (renoir LLVM 15.0.7 DRM 3.49 6.2.0-32-generic)
但是如果我要求clinfo
列出 OpenCL 驱动程序,它只会找到一个适用于 NVIDIA 的驱动程序,而不会找到一个适用于 Radeon 的驱动程序。
$ clinfo -l
Platform #0: NVIDIA CUDA
`-- Device #0: NVIDIA GeForce RTX 3060 Laptop GPU
我需要做什么才能让 Radeon 用于 OpenCL?
我正在运行 Ubuntu 23.04 和 X11。
DRM 信息:
$ drm_info | grep Driver
├───Driver: amdgpu (AMD GPU) version 3.49.0 (20150101)
├───Driver: nvidia-drm (NVIDIA DRM driver) version 0.0.0 (20160202)
答案1
之后$ sudo apt install mesa-opencl-icd
我看到了更多的 OpenCL 平台。
$ clinfo -l
Platform #0: NVIDIA CUDA
`-- Device #0: NVIDIA GeForce RTX 3060 Laptop GPU
Platform #1: Clover
`-- Device #0: AMD Radeon Graphics (renoir, LLVM 15.0.7, DRM 3.49, 6.2.0-32-generic)
Platform #2: rusticl
不幸的是,使用 radeon opencl 平台会出现错误。
cannot open file '/usr/lib/clc/gfx909-amdgcn-mesa-mesa3d.bc': No such file or directory
因此,即使现在有适用于 Radeon GPU 的 ICD,但它存在缺陷并且无法使用。