Bon… je suis pas mal occupé en ce moment et du coup pas trop par là ces derniers temps…
Cependant, je suis tombé sur le problème suivant l’autre jour et j’ai trouvé de quoi le corriger temporairement.
À savoir que rocm (GPGPU pour les AMD/ATI Radeon) en version 5.5 pour Fedora 38 ne fonctionne pas. Cela retourne ce qui suit :
$ clpeak
Platform: Clover
Device: AMD Radeon RX 5700 XT (navi10, LLVM 16.0.2, DRM 3.52, 6.3.3-200.fc38.x86_64)
Driver version : 23.2.0-devel (Linux x64)
Compute units : 40
Clock frequency : 2100 MHz
Build Log: fatal error: cannot open file '/usr/lib64/clc/gfx1010-amdgcn-mesa-mesa3d.bc': No such file or directory
Platform: AMD Accelerated Parallel Processing
Device: gfx1010:xnack-
Driver version : 3558.0 (HSA1.1,LC) (Linux x64)
Compute units : 20
Clock frequency : 2100 MHz
Build Log: ERROR: linking module flags 'amdgpu_code_object_version': IDs have conflicting values in '' and 'llvm-link'
Error: Linking bitcode failed: linking source & IR libraries.
L’opencl de Mesa ne semble pas accepter les RX 5700 XT et même la RX 6500 XT (GFX 1010 et GFX 1030).
Pour Rocm il faut faire un :
sudo dnf downgrade --releasever 37 rocm-opencl
Pour revenir à la version 5.4 qui fonctionne :
$ clpeak
Platform: Clover
Device: AMD Radeon RX 5700 XT (navi10, LLVM 16.0.2, DRM 3.52, 6.3.3-200.fc38.x86_64)
Driver version : 23.2.0-devel (Linux x64)
Compute units : 40
Clock frequency : 2100 MHz
Build Log: fatal error: cannot open file '/usr/lib64/clc/gfx1010-amdgcn-mesa-mesa3d.bc': No such file or directory
Platform: AMD Accelerated Parallel Processing
Device: gfx1010:xnack-
Driver version : 3513.0 (HSA1.1,LC) (Linux x64)
Compute units : 20
Clock frequency : 2100 MHz
Global memory bandwidth (GBPS)
float : 386.54
float2 : 389.83
float4 : 372.14
float8 : 346.61
float16 : 303.89
Single-precision compute (GFLOPS)
float : 10029.50
float2 : 9699.49
float4 : 9667.04
float8 : 9600.62
float16 : 9521.66
Half-precision compute (GFLOPS)
half : 10003.50
half2 : 19481.25
half4 : 19367.05
half8 : 19119.62
half16 : 7308.14
Double-precision compute (GFLOPS)
double : 621.49
double2 : 627.84
double4 : 618.78
double8 : 618.74
double16 : 624.45
Integer compute (GIOPS)
int : 2034.89
int2 : 2026.16
int4 : 2018.37
int8 : 2020.17
int16 : 2006.15
Integer compute Fast 24bit (GIOPS)
int : 9108.25
int2 : 8931.97
int4 : 8887.61
int8 : 8703.54
int16 : 7878.36
Transfer bandwidth (GBPS)
enqueueWriteBuffer : 20.62
enqueueReadBuffer : 6.22
enqueueWriteBuffer non-blocking : 20.75
enqueueReadBuffer non-blocking : 6.16
enqueueMapBuffer(for read) : 715827.88
memcpy from mapped ptr : 6.08
enqueueUnmap(after write) : 998829.56
memcpy to mapped ptr : 18.54
Kernel launch latency : -722547456.00 us
À voir si cela va être corrigé ou non.
Il faudra exclure le paquet rocm-opencl
des mises à jours, sinon il remettra celle pour Fedora 38.
Reste à pouvoir utiliser le HIP pour pouvoir utiliser le GPGPU sous blender par exemple.