(rusticl) OpenCL command cling is not detecting GPU in raspberry pi 5

Victor Labian Carro victor.labian.carro at axelera.ai
Tue Jan 14 14:23:13 UTC 2025


Good news! 

I managed to solve it like this: 
Mesa's Rusticl implementation will look for SPIR-V files in specific locations. If necessary, create symbolic links to ensure compatibility: 
sudo mkdir -p /usr/local/share/clc 
sudo ln -sf /usr/lib/clc/spirv-mesa3d-.spv /usr/local/share/clc/spirv-mesa3d-.spv 
sudo ln -sf /usr/lib/clc/spirv64-mesa3d-.spv /usr/local/share/clc/spirv64-mesa3d-.spv 
________________________________________

Remove any cached shaders or configurations that might interfere: 
rm -rf ~/.cache/mesa_shader_cache_db 
rm -rf ~/.cache/mesa_shader_cache 


From: Victor Labian Carro <victor.labian.carro at axelera.ai>
Date: Tuesday, 14 January 2025 at 13:45
To: Juan A. Suárez <jasuarez at igalia.com>, mesa-dev at lists.freedesktop.org <mesa-dev at lists.freedesktop.org>
Subject: Re: (rusticl) OpenCL command cling is not detecting GPU in raspberry pi 5 

Note that those two files are in: 

ubuntu at ubuntu-desktop:~/mesa/builddir$ sudo find / -type f \( -name "spirv-mesa3d-*.spv" -o -name "spirv64-mesa3d-*.spv" \) 2>/dev/null 
/usr/lib/clc/spirv-mesa3d-.spv 
/usr/lib/clc/spirv64-mesa3d-.spv 


From: Victor Labian Carro <victor.labian.carro at axelera.ai>
Date: Tuesday, 14 January 2025 at 13:25
To: Juan A. Suárez <jasuarez at igalia.com>, mesa-dev at lists.freedesktop.org <mesa-dev at lists.freedesktop.org>
Subject: Re: (rusticl) OpenCL command cling is not detecting GPU in raspberry pi 5 

Hi Juan, 

Thank you very much. I was missing some options in meson. 

I did some progress, but it is still not working, I also installed libclc but I am seeing the following error in the output of clinfo: 

Libclc failed to load. Please make sure it is installed and provides spirv-mesa3d-.spv and/or spirv64-mesa3d-.spv 

ubuntu at ubuntu-desktop:~/mesa/builddir$ clinfo 
Libclc failed to load. Please make sure it is installed and provides spirv-mesa3d-.spv and/or spirv64-mesa3d-.spv 
Number of platforms 1 
Platform Name rusticl 
Platform Vendor Mesa/X.org 
Platform Version OpenCL 3.0 
Platform Profile FULL_PROFILE 
Platform Extensions cl_khr_byte_addressable_store cl_khr_create_command_queue cl_khr_expect_assume cl_khr_extended_versioning cl_khr_icd cl_khr_il_program cl_khr_spirv_no_integer_wrap_decoration cl_khr_suggested_local_work_size 
Platform Extensions with Version cl_khr_byte_addressable_store 0x400000 (1.0.0) 
cl_khr_create_command_queue 0x400000 (1.0.0) 
cl_khr_expect_assume 0x400000 (1.0.0) 
cl_khr_extended_versioning 0x400000 (1.0.0) 
cl_khr_icd 0x400000 (1.0.0) 
cl_khr_il_program 0x400000 (1.0.0) 
cl_khr_spirv_no_integer_wrap_decoration 0x400000 (1.0.0) 
cl_khr_suggested_local_work_size 0x400000 (1.0.0) 
Platform Numeric Version 0xc00000 (3.0.0) 
Platform Extensions function suffix MESA 
Platform Host timer resolution 1ns 

Platform Name rusticl 
Number of devices 0 

NULL platform behavior 
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) rusticl 
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) No devices found in platform [rusticl?] 
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.3.2ns 
ICD loader Profile OpenCL 3.0ns 


From: Juan A. Suárez <jasuarez at igalia.com>
Date: Tuesday, 14 January 2025 at 11:31
To: Victor Labian Carro <victor.labian.carro at axelera.ai>, mesa-dev at lists.freedesktop.org <mesa-dev at lists.freedesktop.org>
Subject: Re: (rusticl) OpenCL command cling is not detecting GPU in raspberry pi 5 

[You don't often get email from jasuarez at igalia.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification <https://aka.ms/LearnAboutSenderIdentification> ]

Caution: This is an external email. Please take care when clicking links or opening attachments. When in doubt, contact your IT Department


On Mon, 2025-01-13 at 16:24 +0000, Victor Labian Carro wrote:
> Hello,
>
> I followed the instructions in
> https://docs.mesa3d.org/rusticl.html#rusticl <https://docs.mesa3d.org/rusticl.html#rusticl> to install OpenCL in
> Raspberry Pi 5. However, clinfo command is not showing any devices.
> Can anyone help with suggestions?
>

What is showing clinfo?

For reference, I've tried locally and it seems to work fine.

Following the steps mentioned in the link, I've used the following
options in meson

`-Dgallium-drivers=vc4,v3d -Dvulkan-drivers=broadcom -Dgallium-rusticl-
enable-drivers=v3d -Dgallium-rusticl=true -Dllvm=enabled -
Drust_std=2021`

I've also exported `RUSTICL_ENABLED=v3d` and ensured `libclc-15` is
installed.


With all above, `clinfo` exposes the V3D 7.1.7.0 device


Cheers.


J.A. 











-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20250114/f4497920/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 9669 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20250114/f4497920/attachment-0001.bin>


More information about the mesa-dev mailing list