Problems with OpenCL for AMD Firepro V3900

I’m struggling with OpenCL support for AMD Firepro v3900 on Ubuntu 22.04. This is quite an old GPU from 2015. I got 2 of these GPUs almost for free and am planning to use them for each processor on my dual CPU workstation Lenovo P710.
I had installed them into my workstation and Radeon driver just worked out of the box. It’s working well for general tasks, however, when it comes to OpenCL support, I cannot enable it. Although this GPU model has it.
Someone may say, go buy latest GPU. However it’s not cheap nowadays, and, if I get OpenCL working, that’d be all I need.

So, no matter what drivers or libraries I tried, OpenCL cannot be enabled.

  1. I obviously tried and failed to install native driver package for this model link
    It’s from 2015, so no wonder. I also tried manually transplant native to /usr/lib/x86_64-linux-gnu and amdocl64.icd to /etc/Opencl/vendors However, it failed to detect even a platform.

  2. I had installed amdgpu-install driver - particularly package opencl-legacy-amdgpu-pro-icd. Which is meant for legacy GPUs. This brought me one step further - system could detect the platform

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 Extensions function suffix             AMD
  Platform Host timer resolution                  1ns

  Platform Name                                   AMD Accelerated Parallel Processing
**Number of devices                                 0**

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  AMD Accelerated Parallel Processing
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   No devices found in platform [AMD Accelerated Parallel Processing?]
  clCreateContext(NULL, ...) [default]            No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform
  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)  No devices found in platform

ICD loader properties
  ICD loader Name                                 OpenCL ICD Loaderns
  ICD loader Vendor                               OCL Icd free softwarens
  ICD loader Version                              2.2.14ns
  ICD loader Profile                              OpenCL 3.0ns

As you can see, the platform has been detected, but 0 devices initialized, thus I still can’t have OpenCL support.

  1. I also tried linking various binaries for clinfo - such as clinfo-amdgpu-pro, from proprietary packages, standard Ubunty clinfo, and, the same way, played with files I have extracted from standard system repos and AMD proprietary suits for Radeon and V3900. Neither combination worked, showing 0 devices.
  2. I tried Mesa OpenCL implementation and it was able to detect both GPUs, but unfortunately this OpenCL imlementaion does not have image processing capability.

I’m out of ideas what to try next. Thus I’d like to ask if someone of you had experience enabling OpenCL for legacy AMD hardware.
Any ideas are welcome - I’d like to try and experiment to make it work.

You probably want the proprietary driver:

But with 1024mb vram each, they’re not going to work very well I’d guess.

Already tried it. It’s from 2015. There is no chance to install it on Ubuntu 22.04. I tied extracting and amdocl64.icd files and putting them manually into respective directories.
They could not even detect a platform. Only amdgpu-install (driver for all modern Radeon cards) could detect, at least, the platform, but still no GPUs. Mesa could detect both the platform and the cards, however it has no image processing capability.

Sounds like you’re out of luck. I’m not sure darktable would make use of them anyway, not enough vram to be useful.

You may get OpenCL “working” (Ubuntu 16.04?), but it may be of limited value due to low memory in those GPUs — if this is about processing images in darktable…