Tenho duas GPUs em meu laptop: GPU Radeon integrada e GPU NVIDIA discreta, conforme mostrado pelo 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)
Mas se eu pedir clinfo
para listar os drivers OpenCL, ele encontrará apenas um para NVIDIA, e não um para Radeon.
$ clinfo -l
Platform #0: NVIDIA CUDA
`-- Device #0: NVIDIA GeForce RTX 3060 Laptop GPU
O que preciso fazer para tornar a Radeon utilizável para OpenCL?
Estou executando o Ubuntu 23.04 e X11.
Informações de 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)
Depois
$ sudo apt install mesa-opencl-icd
de ver mais plataformas OpenCL.Infelizmente, usar a plataforma radeon opencl gera um erro.
Portanto, embora agora exista um ICD para a GPU Radeon, ele está bugado e não pode ser usado.