According to this datasheet: https://www.amd.com/system/files/documents/firepro-s-series-datasheet.pdf, the FirePro S7150 should be OpenCL 2.0 capable, but I've learned that often AMD doesn't necessarily support a lot of features with their Linux drivers (for example the FirePro W5100 is not OpenCL 2.0 capable on Linux, even though AMD advertises that it is: https://community.amd.com/t5/firepro-development/opencl-2-0-on-amd-firepro-w5100/m-p/683011#M747). Can anyone confirm that this GPU is OpenCL 2.0 capable on Linux? Thanks.
Solved! Go to Solution.
It works with older driver (amdgpu-install_22.10.2.50102-1_all.deb). I tested it on FirePro W7100 (same ASIC as S7150X2).
ryzentr@X399:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic
ryzentr@X399:~$ uname -r
5.4.0-150-generic
$ sudo apt-get update $ sudo apt-get dist-upgrade
$ sudo apt-get install ./amdgpu-install_22.10.2.50102-1_all.deb $ sudo apt-get update
$ amdgpu-install --usecase=workstation -y --opencl=rocr,legacy
ryzentr@X399:~$ clinfo
Number of platforms 1
Platform Name AMD Accelerated Parallel Processing
Platform Vendor Advanced Micro Devices, Inc.
Platform Version OpenCL 2.1 AMD-APP (3380.4)
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd cl_amd_event_callback cl_amd_offline_devices
Platform Host timer resolution 1ns
Platform Extensions function suffix AMD
Platform Name AMD Accelerated Parallel Processing
Number of devices 1
Device Name Tonga
Device Vendor Advanced Micro Devices, Inc.
Device Vendor ID 0x1002
Device Version OpenCL 2.0 AMD-APP (3380.4)
Driver Version 3380.4 (PAL,HSAIL)
Device OpenCL C Version OpenCL C 2.0
Device Type GPU
Device Board Name (AMD) AMD FirePro W7100
Device Topology (AMD) PCI-E, 41:00.0
Device Profile FULL_PROFILE
Device Available Yes
Compiler Available Yes
Linker Available Yes
Max compute units 28
SIMD per compute unit (AMD) 4
SIMD width (AMD) 16
SIMD instruction width (AMD) 1
Max clock frequency 920MHz
Graphics IP (AMD) 8.0
Device Partition (core)
Max number of sub-devices 28
Supported partition types None
Max work item dimensions 3
Max work item sizes 1024x1024x1024
Max work group size 256
Preferred work group size (AMD) 256
Max work group size (AMD) 1024
Preferred work group size multiple 64
Wavefront width (AMD) 64
Preferred / native vector sizes
char 4 / 4
short 2 / 2
int 1 / 1
long 1 / 1
half 1 / 1 (cl_khr_fp16)
float 1 / 1
double 1 / 1 (cl_khr_fp64)
Half-precision Floating-point support (cl_khr_fp16)
Denormals No
Infinity and NANs No
Round to nearest No
Round to zero No
Round to infinity No
IEEE754-2008 fused multiply-add No
Support is emulated in software No
Single-precision Floating-point support (core)
Denormals No
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations Yes
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Address bits 64, Little-Endian
Global memory size 8589934592 (8GiB)
Global free memory (AMD) 8323072 (7.938GiB)
Global memory channels (AMD) 8
Global memory banks per channel (AMD) 4
Global memory bank width (AMD) 256 bytes
Error Correction support No
Max memory allocation 7073274265 (6.587GiB)
Unified memory for Host and Device No
Shared Virtual Memory (SVM) capabilities (core)
Coarse-grained buffer sharing Yes
Fine-grained buffer sharing Yes
Fine-grained system sharing No
Atomics No
Minimum alignment for any data type 128 bytes
Alignment of base address 2048 bits (256 bytes)
Preferred alignment for atomics
SVM 0 bytes
Global 0 bytes
Local 0 bytes
Max size for global variable 6365946624 (5.929GiB)
Preferred total size of global vars 8589934592 (8GiB)
Global Memory cache type Read/Write
Global Memory cache size 16384 (16KiB)
Global Memory cache line size 64 bytes
Image support Yes
Max number of samplers per kernel 16
Max size for 1D images from buffer 442079641 pixels
Max 1D or 2D image array size 2048 images
Base address alignment for 2D image buffers 256 bytes
Pitch alignment for 2D image buffers 256 pixels
Max 2D image size 16384x16384 pixels
Max 3D image size 2048x2048x2048 pixels
Max number of read image args 128
Max number of write image args 64
Max number of read/write image args 64
Max number of pipe args 16
Max active pipe reservations 16
Max pipe packet size 2778306969 (2.587GiB)
Local memory type Local
Local memory size 65536 (64KiB)
Local memory syze per CU (AMD) 65536 (64KiB)
Local memory banks (AMD) 32
Max number of constant args 8
Max constant buffer size 7073274265 (6.587GiB)
Preferred constant buffer size (AMD) 16384 (16KiB)
Max size of kernel argument 1024
Queue properties (on host)
Out-of-order execution No
Profiling Yes
Queue properties (on device)
Out-of-order execution Yes
Profiling Yes
Preferred size 262144 (256KiB)
Max size 8388608 (8MiB)
Max queues on device 1
Max events on device 1024
Prefer user sync for interop Yes
Number of P2P devices (AMD) 0
P2P devices (AMD) <printDeviceInfo:144: get number of CL_DEVICE_P2P_DEVICES_AMD : error -30>
Profiling timer resolution 1ns
Profiling timer offset since Epoch (AMD) 1721393667151371184ns (Fri Jul 19 14:54:27 2024)
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Thread trace supported (AMD) Yes
Number of async queues (AMD) 4
Max real-time compute queues (AMD) 1
Max real-time compute units (AMD) 0
printf() buffer size 4194304 (4MiB)
Built-in kernels
Device Extensions cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_gl_sharing cl_khr_gl_depth_images cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_image2d_from_buffer cl_khr_subgroups cl_khr_gl_event cl_khr_depth_images cl_khr_mipmap_image cl_khr_mipmap_image_writes cl_amd_copy_buffer_p2p
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) No platform
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) No platform
clCreateContext(NULL, ...) [default] No platform
clCreateContext(NULL, ...) [other] Success [AMD]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) Success (1)
Platform Name AMD Accelerated Parallel Processing
Device Name Tonga
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) Success (1)
Platform Name AMD Accelerated Parallel Processing
Device Name Tonga
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) Success (1)
Platform Name AMD Accelerated Parallel Processing
Device Name Tonga
ryzentr@X399:~$
The question is why you need OpenCL 2.0. Which specific OpenCL extension are you looking for? Anything beyond OpenCL 1.2 is made optional.
I would like to use Shared Virtual Memory with atomic support, which is only available in OpenCL 2.0 and after.
From digging around the OpenCL 2.0 spec, and this directory of extensions, there should be an extension called something like cl_amd_shared_virtual_memory though it doesn't exist in the /amd/ directory (something similar exists in the /arm/ directory: cl_arm_shared_virtual_memory). I was able to add the extension cl_amd_bus_addressable_memory by adding amdgpu.direct_gma_size=96 as a kernel boot parameter. Is there something similar I can do here to enable SVM?
It's an extension to enable SVM on early versions of OpenCL. AMD doesn't need this extension, because we support OpenCL2.0:
registry.khronos.org/OpenCL/extensions/arm/cl_arm_shared_virtual_memory.txt
This extension enables the shared virtual memory features in versions prior to 2.0 as described in OpenCL version 2.0 section 3.
I'll be super explicit about what it is I am looking for. I currently have a FirePro W5100 on a linux machine (AlmaLinux 8.10, kernel 4.18.0-240.el8.x86_64) and here are some pertinent fields from clinfo:
$ clinfo
Platform Version: OpenCL 2.1 AMD-APP (3224.4)
Board name: AMD FirePro W5100
SVM capabilities:
Coarse grain buffer: No
Fine grain buffer: No
Fine grain system: No
Atomics: No
Device OpenCL C version: OpenCL C 1.2
Driver version: 3224.4
Version: OpenCL 1.2 AMD-APP (3224.4)
Elsewhere on the forums @fsadough informed me that OpenCL 2.0 is not fully implemented in linux, even though AMD's own page for this GPU says it supports OpenCL 2.0. I'd like to figure out how to change the "No"s under SVM capablities to "Yes"s. Since you "support OpenCL2.0", how do I enable SVM capabilities on linux for GPUs which AMD says OpenCL 2.0 is supported (this would include the FirePro S7150)?
Where did you obtain the driver from? Can you please share the link?
I am using this driver: https://drivers.amd.com/drivers/linux/amdgpu-pro-21.10-1263777-rhel-8.3.tar.xz
Which I got from this page: https://www.amd.com/en/support/downloads/drivers.html/graphics/firepro/firepro-wx100-series/firepro-...
This the most up-to-date 64-bit linux driver that AMD offers for the FirePro series of GPUs.
I also dug around online and found that there is an extension called cl_amd_svm. Do you have any information on that extension? I found it referenced and used in this version of clinfo (used in Arch Linux): https://github.com/Oblomov/clinfo.
I checked with our OpenCL team. Both W5100 and S7150X2 are EOL'ed and we have no more support on those products. I am afraid, you are on your own.
It's completely ridiculous to me that AMD would advertise these GPUs as OpenCL 2.0 capable, and then not offer that capability for the entirety of these products' life. Even though I wish CUDA was open source like OpenCL, I guess it's back to NVIDIA, they are at least true to their word and their products work as advertised.
It works with older driver (amdgpu-install_22.10.2.50102-1_all.deb). I tested it on FirePro W7100 (same ASIC as S7150X2).
ryzentr@X399:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic
ryzentr@X399:~$ uname -r
5.4.0-150-generic
$ sudo apt-get update $ sudo apt-get dist-upgrade
$ sudo apt-get install ./amdgpu-install_22.10.2.50102-1_all.deb $ sudo apt-get update
$ amdgpu-install --usecase=workstation -y --opencl=rocr,legacy
ryzentr@X399:~$ clinfo
Number of platforms 1
Platform Name AMD Accelerated Parallel Processing
Platform Vendor Advanced Micro Devices, Inc.
Platform Version OpenCL 2.1 AMD-APP (3380.4)
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd cl_amd_event_callback cl_amd_offline_devices
Platform Host timer resolution 1ns
Platform Extensions function suffix AMD
Platform Name AMD Accelerated Parallel Processing
Number of devices 1
Device Name Tonga
Device Vendor Advanced Micro Devices, Inc.
Device Vendor ID 0x1002
Device Version OpenCL 2.0 AMD-APP (3380.4)
Driver Version 3380.4 (PAL,HSAIL)
Device OpenCL C Version OpenCL C 2.0
Device Type GPU
Device Board Name (AMD) AMD FirePro W7100
Device Topology (AMD) PCI-E, 41:00.0
Device Profile FULL_PROFILE
Device Available Yes
Compiler Available Yes
Linker Available Yes
Max compute units 28
SIMD per compute unit (AMD) 4
SIMD width (AMD) 16
SIMD instruction width (AMD) 1
Max clock frequency 920MHz
Graphics IP (AMD) 8.0
Device Partition (core)
Max number of sub-devices 28
Supported partition types None
Max work item dimensions 3
Max work item sizes 1024x1024x1024
Max work group size 256
Preferred work group size (AMD) 256
Max work group size (AMD) 1024
Preferred work group size multiple 64
Wavefront width (AMD) 64
Preferred / native vector sizes
char 4 / 4
short 2 / 2
int 1 / 1
long 1 / 1
half 1 / 1 (cl_khr_fp16)
float 1 / 1
double 1 / 1 (cl_khr_fp64)
Half-precision Floating-point support (cl_khr_fp16)
Denormals No
Infinity and NANs No
Round to nearest No
Round to zero No
Round to infinity No
IEEE754-2008 fused multiply-add No
Support is emulated in software No
Single-precision Floating-point support (core)
Denormals No
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations Yes
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Address bits 64, Little-Endian
Global memory size 8589934592 (8GiB)
Global free memory (AMD) 8323072 (7.938GiB)
Global memory channels (AMD) 8
Global memory banks per channel (AMD) 4
Global memory bank width (AMD) 256 bytes
Error Correction support No
Max memory allocation 7073274265 (6.587GiB)
Unified memory for Host and Device No
Shared Virtual Memory (SVM) capabilities (core)
Coarse-grained buffer sharing Yes
Fine-grained buffer sharing Yes
Fine-grained system sharing No
Atomics No
Minimum alignment for any data type 128 bytes
Alignment of base address 2048 bits (256 bytes)
Preferred alignment for atomics
SVM 0 bytes
Global 0 bytes
Local 0 bytes
Max size for global variable 6365946624 (5.929GiB)
Preferred total size of global vars 8589934592 (8GiB)
Global Memory cache type Read/Write
Global Memory cache size 16384 (16KiB)
Global Memory cache line size 64 bytes
Image support Yes
Max number of samplers per kernel 16
Max size for 1D images from buffer 442079641 pixels
Max 1D or 2D image array size 2048 images
Base address alignment for 2D image buffers 256 bytes
Pitch alignment for 2D image buffers 256 pixels
Max 2D image size 16384x16384 pixels
Max 3D image size 2048x2048x2048 pixels
Max number of read image args 128
Max number of write image args 64
Max number of read/write image args 64
Max number of pipe args 16
Max active pipe reservations 16
Max pipe packet size 2778306969 (2.587GiB)
Local memory type Local
Local memory size 65536 (64KiB)
Local memory syze per CU (AMD) 65536 (64KiB)
Local memory banks (AMD) 32
Max number of constant args 8
Max constant buffer size 7073274265 (6.587GiB)
Preferred constant buffer size (AMD) 16384 (16KiB)
Max size of kernel argument 1024
Queue properties (on host)
Out-of-order execution No
Profiling Yes
Queue properties (on device)
Out-of-order execution Yes
Profiling Yes
Preferred size 262144 (256KiB)
Max size 8388608 (8MiB)
Max queues on device 1
Max events on device 1024
Prefer user sync for interop Yes
Number of P2P devices (AMD) 0
P2P devices (AMD) <printDeviceInfo:144: get number of CL_DEVICE_P2P_DEVICES_AMD : error -30>
Profiling timer resolution 1ns
Profiling timer offset since Epoch (AMD) 1721393667151371184ns (Fri Jul 19 14:54:27 2024)
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Thread trace supported (AMD) Yes
Number of async queues (AMD) 4
Max real-time compute queues (AMD) 1
Max real-time compute units (AMD) 0
printf() buffer size 4194304 (4MiB)
Built-in kernels
Device Extensions cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_gl_sharing cl_khr_gl_depth_images cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_image2d_from_buffer cl_khr_subgroups cl_khr_gl_event cl_khr_depth_images cl_khr_mipmap_image cl_khr_mipmap_image_writes cl_amd_copy_buffer_p2p
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) No platform
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) No platform
clCreateContext(NULL, ...) [default] No platform
clCreateContext(NULL, ...) [other] Success [AMD]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) Success (1)
Platform Name AMD Accelerated Parallel Processing
Device Name Tonga
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) Success (1)
Platform Name AMD Accelerated Parallel Processing
Device Name Tonga
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) Success (1)
Platform Name AMD Accelerated Parallel Processing
Device Name Tonga
ryzentr@X399:~$
I think what you meant to say is that the FirePro W7100 has the same ASIC (TONGA) as the FirePro S7150 and not the FirePro W5100 (BONAIRE).
Correct. My mistake Same as S7150X2. W5100 has a different ASIC but same driver.
I am on a RHEL 8 clone, but this driver (amdgpu-install_22.10.2.50102-1) has a RHEL 8 version.
$ cat /etc/redhat-release
AlmaLinux release 8.10 (Cerulean Leopard)
$ uname -r
4.18.0-348.el8.x86_64 # downgraded the kernel to 4.18.0-348.el8.x86_64 (RHEL 8.5) so it works with the driver
I installed it:
$ sudo dnf localinstall ./amdgpu-install-22.10.2.50102-1.el8.noarch.rpm
$ sudo dnf update
$ sudo amdgpu-install --usecase=workstation -y --opencl=rocr,legacy
$ clinfo
Number of platforms: 1
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 2.1 AMD-APP (3380.4)
Platform Name: AMD Accelerated Parallel Processing
Platform Vendor: Advanced Micro Devices, Inc.
Platform Extensions: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices
Platform Name: AMD Accelerated Parallel Processing
Number of devices: 0
The driver doesn't seem to support the W5100 for OpenCL, even though it is there and the driver is loaded in the kernel:
$ lspci | grep -i amd
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Bonaire [FirePro W5100]
$ lsmod | grep amd
amdgpu 7892992 0
amddrm_ttm_helper 16384 1 amdgpu
amdttm 73728 2 amdgpu,amddrm_ttm_helper
amdkcl 28672 2 amdttm,amdgpu
iommu_v2 20480 1 amdgpu
i2c_algo_bit 16384 1 amdgpu
amd_sched 40960 1 amdgpu
drm_kms_helper 253952 3 amdgpu
drm 573440 6 drm_kms_helper,amd_sched,amdttm,amdgpu,amddrm_ttm_helper
$ dmesg | grep "amdgpu version"
[ 3.777434] [drm] amdgpu version: 5.13.20.22.10
So this didn't work for me.
Can you try this?
Radeon™ Software for Linux® 22.40.6 Release Notes (amd.com)
That didn't work either (same clinfo output as before). My system is normally headless, but I tried seeing if this driver would even drive a display and that doesn't even work. Lightdm (display manager) wont even start because the X server crashes. Output of Xorg.0.log:
[ 22.344]
X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
[ 22.344] Build Operating System: 4.18.0-513.18.1.el8_9.x86_64
[ 22.344] Current Operating System: Linux hero 4.18.0-425.3.1.el8.x86_64 #1 SMP Tue Nov 8 14:08:25 EST 2022 x86_64
[ 22.344] Kernel command line: BOOT_IMAGE=(hd1,gpt2)/vmlinuz-4.18.0-425.3.1.el8.x86_64 root=/dev/mapper/kaiju-root8 ro crashkernel=auto resume=/dev/mapper/kaiju-swap rd.md.uuid=5601f3cb:d031299b:790c6837:62fa15c6 rd.lvm.lv=kaiju/root8 rd.md.uuid=282cfe99:1b8397bc:34a099ff:e2f249f5 rd.lvm.lv=kaiju/swap radeon.cik_support=0 amdgpu.cik_support=1 irqaffinity=0 console=tty0, console=ttyS0,115200n8 amdgpu.virtual_display=0000:03:00.0,1 amdgpu.direct_gma_size=96 nohz_full=1 rcu_nocbs=1 mitigations=off
[ 22.344] Build Date: 02 July 2024 02:54:42PM
[ 22.344] Build ID: xorg-x11-server 1.20.11-24.el8_10
[ 22.344] Current version of pixman: 0.38.4
[ 22.344] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 22.344] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 22.344] (==) Log file: "/var/log/Xorg.0.log", Time: Mon Jul 22 17:49:07 2024
[ 22.344] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 22.344] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 22.344] (==) No Layout section. Using the first Screen section.
[ 22.344] (==) No screen section available. Using defaults.
[ 22.344] (**) |-->Screen "Default Screen Section" (0)
[ 22.344] (**) | |-->Monitor "<default monitor>"
[ 22.344] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[ 22.344] (==) Automatically adding devices
[ 22.344] (==) Automatically enabling devices
[ 22.344] (==) Automatically adding GPU devices
[ 22.344] (==) Automatically binding GPU devices
[ 22.344] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 22.344] (==) FontPath set to:
catalogue:/etc/X11/fontpath.d,
built-ins
[ 22.344] (**) ModulePath set to "/opt/amdgpu-pro/lib/xorg/modules,/opt/amdgpu/lib/xorg/modules,/usr/lib64/xorg/modules"
[ 22.344] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 22.344] (II) Loader magic: 0x557eb6b8c020
[ 22.344] (II) Module ABI versions:
[ 22.344] X.Org ANSI C Emulation: 0.4
[ 22.344] X.Org Video Driver: 24.1
[ 22.344] X.Org XInput driver : 24.1
[ 22.344] X.Org Server Extension : 10.0
[ 22.345] (++) using VT number 1
[ 22.345] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[ 22.345] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 22.345] (II) Platform probe for /sys/devices/pci0000:00/0000:00:02.0/0000:03:00.0/drm/card0
[ 22.387] (--) PCI:*(3@0:0:0) 1002:6649:1028:230c rev 0, Mem @ 0x30100000000/4294967296, 0x30080000000/8388608, 0xf7e00000/262144, I/O @ 0x0000e000/256, BIOS @ 0x????????/131072
[ 22.387] (II) LoadModule: "glx"
[ 22.387] (II) Loading /opt/amdgpu-pro/lib/xorg/modules/extensions/libglx.so
[ 22.394] (II) Module glx: vendor="X.Org Foundation"
[ 22.394] compiled for 1.20.11, module version = 1.0.0
[ 22.394] ABI class: X.Org Server Extension, version 10.0
[ 22.394] (II) Applying OutputClass "AMDgpu" to /dev/dri/card0
[ 22.394] loading driver: amdgpu
[ 22.394] (==) Matched amdgpu as autoconfigured driver 0
[ 22.394] (==) Matched ati as autoconfigured driver 1
[ 22.394] (==) Matched modesetting as autoconfigured driver 2
[ 22.394] (==) Matched fbdev as autoconfigured driver 3
[ 22.394] (==) Matched vesa as autoconfigured driver 4
[ 22.394] (==) Assigned the driver to the xf86ConfigLayout
[ 22.394] (II) LoadModule: "amdgpu"
[ 22.394] (II) Loading /opt/amdgpu/lib/xorg/modules/drivers/amdgpu_drv.so
[ 22.395] (II) Module amdgpu: vendor="X.Org Foundation"
[ 22.395] compiled for 1.20.11, module version = 22.0.0
[ 22.395] Module class: X.Org Video Driver
[ 22.395] ABI class: X.Org Video Driver, version 24.1
[ 22.395] (II) LoadModule: "ati"
[ 22.396] (WW) Warning, couldn't open module ati
[ 22.396] (EE) Failed to load module "ati" (module does not exist, 0)
[ 22.396] (II) LoadModule: "modesetting"
[ 22.396] (II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so
[ 22.396] (II) Module modesetting: vendor="X.Org Foundation"
[ 22.396] compiled for 1.20.11, module version = 1.20.11
[ 22.396] Module class: X.Org Video Driver
[ 22.396] ABI class: X.Org Video Driver, version 24.1
[ 22.396] (II) LoadModule: "fbdev"
[ 22.396] (II) Loading /usr/lib64/xorg/modules/drivers/fbdev_drv.so
[ 22.396] (II) Module fbdev: vendor="X.Org Foundation"
[ 22.396] compiled for 1.20.3, module version = 0.5.0
[ 22.396] Module class: X.Org Video Driver
[ 22.396] ABI class: X.Org Video Driver, version 24.0
[ 22.396] (II) LoadModule: "vesa"
[ 22.397] (II) Loading /usr/lib64/xorg/modules/drivers/vesa_drv.so
[ 22.397] (II) Module vesa: vendor="X.Org Foundation"
[ 22.397] compiled for 1.20.3, module version = 2.4.0
[ 22.397] Module class: X.Org Video Driver
[ 22.397] ABI class: X.Org Video Driver, version 24.0
[ 22.397] (II) AMDGPU: Driver for AMD Radeon:
All GPUs supported by the amdgpu kernel driver
[ 22.397] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 22.397] (II) FBDEV: driver for framebuffer: fbdev
[ 22.397] (II) VESA: driver for VESA chipsets: vesa
[ 22.397] (WW) Falling back to old probe method for modesetting
[ 22.398] (WW) Falling back to old probe method for fbdev
[ 22.398] (II) Loading sub module "fbdevhw"
[ 22.398] (II) LoadModule: "fbdevhw"
[ 22.398] (II) Loading /usr/lib64/xorg/modules/libfbdevhw.so
[ 22.398] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 22.398] compiled for 1.20.11, module version = 0.0.2
[ 22.398] ABI class: X.Org Video Driver, version 24.1
[ 22.398] (II) AMDGPU(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 24/32
[ 22.398] (==) AMDGPU(0): Depth 24, (--) framebuffer bpp 32
[ 22.398] (II) AMDGPU(0): Pixel depth = 24 bits stored in 4 bytes (32 bpp pixmaps)
[ 22.398] (==) AMDGPU(0): Default visual is TrueColor
[ 22.398] (==) AMDGPU(0): RGB weight 888
[ 22.398] (II) AMDGPU(0): Using 8 bits per RGB (8 bit DAC)
[ 22.398] (--) AMDGPU(0): Chipset: "AMD FirePro W5100" (ChipID = 0x6649)
[ 22.398] (II) Loading sub module "fb"
[ 22.398] (II) LoadModule: "fb"
[ 22.398] (II) Loading /usr/lib64/xorg/modules/libfb.so
[ 22.398] (II) Module fb: vendor="X.Org Foundation"
[ 22.398] compiled for 1.20.11, module version = 1.0.0
[ 22.398] ABI class: X.Org ANSI C Emulation, version 0.4
[ 22.398] (II) Loading sub module "dri2"
[ 22.398] (II) LoadModule: "dri2"
[ 22.398] (II) Module "dri2" already built-in
[ 22.450] (II) Loading sub module "glamoregl"
[ 22.450] (II) LoadModule: "glamoregl"
[ 22.450] (II) Loading /usr/lib64/xorg/modules/libglamoregl.so
[ 22.453] (II) Module glamoregl: vendor="X.Org Foundation"
[ 22.453] compiled for 1.20.11, module version = 1.0.1
[ 22.453] ABI class: X.Org ANSI C Emulation, version 0.4
[ 22.457] (EE)
[ 22.457] (EE) Backtrace:
[ 22.457] (EE) 0: /usr/libexec/Xorg (xorg_backtrace+0x7d) [0x557eb68fefad]
[ 22.457] (EE) 1: /usr/libexec/Xorg (0x557eb6744000+0x1bed6d) [0x557eb6902d6d]
[ 22.457] (EE) 2: /lib64/libpthread.so.0 (0x7ff2ee393000+0x12d20) [0x7ff2ee3a5d20]
[ 22.457] (EE) 3: /opt/amdgpu/lib64/dri/amdgpu_dri.so (0x7ff2e4fb8000+0x11e049d) [0x7ff2e619849d]
[ 22.457] (EE) 4: /opt/amdgpu/lib64/dri/amdgpu_dri.so (eglInitialize+0x8c) [0x7ff2e619284c]
[ 22.457] (EE) 5: /usr/lib64/xorg/modules/libglamoregl.so (glamor_egl_init+0xa3) [0x7ff2de023193]
[ 22.457] (EE) 6: /opt/amdgpu/lib/xorg/modules/drivers/amdgpu_drv.so (0x7ff2f0a2d000+0x20889) [0x7ff2f0a4d889]
[ 22.457] (EE) 7: /opt/amdgpu/lib/xorg/modules/drivers/amdgpu_drv.so (0x7ff2f0a2d000+0x12566) [0x7ff2f0a3f566]
[ 22.457] (EE) 8: /opt/amdgpu/lib/xorg/modules/drivers/amdgpu_drv.so (0x7ff2f0a2d000+0x12e1b) [0x7ff2f0a3fe1b]
[ 22.457] (EE) 9: /usr/libexec/Xorg (InitOutput+0x9ee) [0x557eb67e1e6e]
[ 22.457] (EE) 10: /usr/libexec/Xorg (0x557eb6744000+0x60607) [0x557eb67a4607]
[ 22.457] (EE) 11: /lib64/libc.so.6 (__libc_start_main+0xe5) [0x7ff2edff77e5]
[ 22.457] (EE) 12: /usr/libexec/Xorg (_start+0x2e) [0x557eb678e03e]
[ 22.457] (EE)
[ 22.457] (EE) Segmentation fault at address 0x18
[ 22.457] (EE)
Fatal server error:
[ 22.457] (EE) Caught signal 11 (Segmentation fault). Server aborting
[ 22.457] (EE)
[ 22.457] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 22.457] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 22.457] (EE)
[ 22.459] (EE) Server terminated with error (1). Closing log file.
With the amdgpu-install scripts that are provided at repo.radeon.com, the --usecase=workstation option isn't the way to go, as this installs older, proprietary OpenGL libs, --usecase=graphics, is the better choice. After doing that, I was able to get some of the amdgpu drivers from repo.radeon.com to at least give graphics support, but still no OpenCL support.
The most recent amdgpu driver that works for me, before OpenCL breaks, is this one, which is .10 greater (21.20 vs 21.10) than the most recent one that linked on AMD own supported driver page for the W5100. My guess is sometime after the release of 21.10, AMD dropped OpenCL support for the BONAIRE chipset and GCN2.0 architecture GPUs.
The FirePro W5100 was released in 2014, and driver 21.20 was released in 2021, so by my calculations, in SEVEN years AMD couldn't even be bothered to give OpenCL 2.0 functionality on linux to a GPU, which they advertise as OpenCL 2.0 capable (without any caveats as to OS). This archived AMD page for the W5100 from 2014 says "AMD FirePro™ W5100 supports OpenCL 1.2 and is expected to support OpenCL 2.0 (2)", where the footnote states: "AMD plans to release OpenCL 2.0 drivers for enabled AMD FirePro W5100, W7100, W8100 and W9100 graphics cards in Q4 2014", and this final archived page from 2018 is still promising OpenCL 2.0.
What kind of shady business practice is this? Do better AMD.
I'm giving up on this and going to the NVIDIA darkside.