@usual user
Thank you very much for taking the time for the description!
Honestly I must confess that I am not that deep in all this kernel build stuff that I would dare to build my own distro 🙈.
I followed another guide and now my clinfo looks different but still not good. It seems that it has detected three OpenCL profiles, but still no entire GPU (driver):
Number of platforms 3
Platform Name ARM Platform
Platform Vendor ARM
Platform Version OpenCL 2.0 git.c8adbf9.122c9daed32dbba4b3056f41a2f23c58
Platform Profile FULL_PROFILE
Platform Extensions 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_byte_addressable_store cl_khr_3d_image_writes cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp16 cl_khr_icd cl_khr_egl_image cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_subgroups cl_khr_create_command_queue cl_arm_core_id cl_arm_printf cl_arm_thread_limit_hint cl_arm_non_uniform_work_group_size cl_arm_import_memory cl_arm_shared_virtual_memory
Platform Extensions function suffix ARM
Platform Name rusticl
Platform Vendor Mesa/X.org
Platform Version OpenCL 3.0
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd
Platform Extensions with Version cl_khr_icd 0x400000 (1.0.0)
Platform Numeric Version 0xc00000 (3.0.0)
Platform Extensions function suffix MESA
Platform Host timer resolution 0ns
Platform Name Clover
Platform Vendor Mesa
Platform Version OpenCL 1.1 Mesa 22.3.6
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd
Platform Extensions function suffix MESA
Platform Name ARM Platform
Number of devices 1
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
Device Name <printDeviceInfo:0: get CL_DEVICE_NAME size : error -6>
Device Vendor ARM
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
Device Vendor ID <printDeviceInfo:2: get CL_DEVICE_VENDOR_ID : error -6>
Device Version OpenCL 2.0 git.c8adbf9.122c9daed32dbba4b3056f41a2f23c58
Driver Version 2.0
Device OpenCL C Version OpenCL C 2.0 git.c8adbf9.122c9daed32dbba4b3056f41a2f23c58
Device Type GPU
Device Profile FULL_PROFILE
Device Available Yes
Compiler Available Yes
Linker Available Yes
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
Max compute units <printDeviceInfo:32: get CL_DEVICE_MAX_COMPUTE_UNITS : error -6>
Available core IDs (ARM) <printDeviceInfo:33: get CL_DEVICE_COMPUTE_UNITS_BITFIELD_ARM : error -30>
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
Max clock frequency <printDeviceInfo:40: get CL_DEVICE_MAX_CLOCK_FREQUENCY : error -6>
Device Partition (core)
Max number of sub-devices 0
Supported partition types None
Supported affinity domains (n/a)
Max work item dimensions 3
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
Max work item sizes <printDeviceInfo:62: get number of CL_DEVICE_MAX_WORK_ITEM_SIZES : error -6>
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
Max work group size <printDeviceInfo:63: get CL_DEVICE_MAX_WORK_GROUP_SIZE : error -6>
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
Preferred work group size multiple (kernel) <getWGsizes:1950: create context : error -6>
Preferred / native vector sizes
char 16 / 4
short 8 / 2
int 4 / 1
long 2 / 1
half 8 / 2 (cl_khr_fp16)
float 4 / 1
double 0 / 0 (n/a)
Half-precision Floating-point support (cl_khr_fp16)
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
Single-precision Floating-point support (core)
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
Correctly-rounded divide and sqrt operations No
Double-precision Floating-point support (n/a)
Address bits 64, Little-Endian
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
Global memory size <printDeviceInfo:108: get CL_DEVICE_GLOBAL_MEM_SIZE : error -6>
Error Correction support No
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
Max memory allocation <printDeviceInfo:114: get CL_DEVICE_MAX_MEM_ALLOC_SIZE : error -6>
Unified memory for Host and Device Yes
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
Shared Virtual Memory (SVM) capabilities <printDeviceInfo:117: get CL_DEVICE_SVM_CAPABILITIES : error -6>
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
Shared Virtual Memory (SVM) capabilities (ARM) <printDeviceInfo:118: get CL_DEVICE_SVM_CAPABILITIES_ARM : error -6>
Minimum alignment for any data type 128 bytes
Alignment of base address 1024 bits (128 bytes)
Preferred alignment for atomics
SVM 0 bytes
Global 0 bytes
Local 0 bytes
Max size for global variable 65536 (64KiB)
Preferred total size of global vars 0
Global Memory cache type Read/Write
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
Global Memory cache size <printDeviceInfo:139: get CL_DEVICE_GLOBAL_MEM_CACHE_SIZE : error -6>
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
Global Memory cache line size <printDeviceInfo:140: get CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE : error -6>
Image support Yes
Max number of samplers per kernel 16
Max size for 1D images from buffer 65536 pixels
Max 1D or 2D image array size 2048 images
Base address alignment for 2D image buffers 32 bytes
Pitch alignment for 2D image buffers 64 pixels
Max 2D image size 65536x65536 pixels
Max 3D image size 65536x65536x65536 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 1
Max pipe packet size 1024
Local memory type Global
Local memory size 32768 (32KiB)
Max number of constant args 8
Max constant buffer size 65536 (64KiB)
Max size of kernel argument 1024
Queue properties (on host)
Out-of-order execution Yes
Profiling Yes
Queue properties (on device)
Out-of-order execution Yes
Profiling Yes
Preferred size 2097152 (2MiB)
Max size 16777216 (16MiB)
Max queues on device 1
Max events on device 1024
Prefer user sync for interop No
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
Profiling timer resolution <printDeviceInfo:195: get CL_DEVICE_PROFILING_TIMER_RESOLUTION : error -6>
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
printf() buffer size 1048576 (1024KiB)
Built-in kernels (n/a)
Device Extensions 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_byte_addressable_store cl_khr_3d_image_writes cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp16 cl_khr_icd cl_khr_egl_image cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_subgroups cl_khr_create_command_queue cl_arm_core_id cl_arm_printf cl_arm_thread_limit_hint cl_arm_non_uniform_work_group_size cl_arm_import_memory cl_arm_shared_virtual_memory
Platform Name rusticl
Number of devices 0
Platform Name Clover
Number of devices 0
NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) ARM Platform
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [ARM]
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
clCreateContext(NULL, ...) [default] <checkNullCtx:4108: create context with device from default platform : error -6>
clCreateContext(NULL, ...) [other] <error: no devices in non-default plaforms>
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) <checkNullCtxFromType:4160: create context from type CL_DEVICE_TYPE_DEFAULT : error -6>
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) <checkNullCtxFromType:4160: create context from type CL_DEVICE_TYPE_GPU : error -6>
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform
Failed creating base context during opening of kernel driver.
Kernel module may not have been loaded
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) <checkNullCtxFromType:4160: create context from type CL_DEVICE_TYPE_ALL : error -6>
ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.14
ICD loader Profile OpenCL 3.0
My system is Armbian bookworm on an ODROID N2+ (Mali-G52).
Do you have any idea about a workflow how to get OpenCL running properly? What driver (ARM, HK...), what to copy, what to compile, where to copy...
Thank you!