OpenCL Number of platforms 0 I'm using Layerscape LS1028ARDB, LSDK v21.08, kernel 5.10.35. This post is related to https://community.nxp.com/t5/Layerscape/ls1028ardb-OpenCL-clinfo-Number-of-platforms-is-0/m-p/1579037/highlight/true I am trying to make sure my OpenCV application is using OpenCL. I run the following: $ cat /boot/config-5.15.0-1007-ls | grep MXC_GPU_VIV CONFIG_MXC_GPU_VIV=y It looks like use of GPU should be enabled in my kernel build. However, when I run clinfo, I get Number of platforms 0 When I run dmesg | grep -i galcore I see: [ 3.750350] galcore f0c0000.gpu: Adding to iommu group 14 [ 3.755946] Galcore version 6.4.3.p2.336687 Am I missing something here? Re: OpenCL Number of platforms 0 Thanks, it was because I needed the desktop Ubuntu image instead of main. Re: OpenCL Number of platforms 0 I downloaded LSDK 21.08 pre-built images
$ wget https://www.nxp.com/lgfiles/sdk/lsdk2108/firmware_ls1028ardb_sdboot.img
$ wget https://www.nxp.com/lgfiles/sdk/lsdk2108/boot_LS_arm64_lts_5.10.tgz
$ wget https://www.nxp.com/lgfiles/sdk/lsdk2108/rootfs_lsdk2108_ubuntu_desktop_arm64.tgz
Deploy them to SD card.
$ flex-installer -i pf -d /dev/sdb
$ flex-installer -b boot_LS_arm64_lts_5.10.tgz -f firmware_ls1028ardb_sdboot.img -r rootfs_lsdk2108_ubuntu_desktop_arm64.tgz -d /dev/sdb
Note:/dev/sdb is SD device name on the host PC.
Boot from SD card on LS1028ARDB, I got the following information.
root@localhost:~# apt-get install clinfo
root@localhost:~# clinfo clinfo: /usr/lib/libOpenCL.so.1: no version information available (required by clinfo) Number of platforms 1 Platform Name Vivante OpenCL Platform Platform Vendor Vivante Corporation Platform Version OpenCL 1.2 V6.4.3.p2.336687 Platform Profile FULL_PROFILE Platform Extensions cl_khr_icd Platform Extensions function suffix viv
Platform Name Vivante OpenCL Platform Number of devices 1 Device Name Vivante OpenCL Device GC7000UL.6202.0000 Device Vendor Vivante Corporation Device Vendor ID 0x564956 Device Version OpenCL 1.2 Driver Version OpenCL 1.2 V6.4.3.p2.336687 Device OpenCL C Version OpenCL C 1.2 Device Type GPU Device Profile FULL_PROFILE Device Available Yes Compiler Available Yes Linker Available Yes Max compute units 1 Max clock frequency 600MHz Device Partition (core) Max number of sub-devices 0 Supported partition types (n/a) Supported affinity domains (n/a) Max work item dimensions 3 Max work item sizes 512x512x512 Max work group size 512 Preferred work group size multiple 8 Preferred / native vector sizes char 4 / 4 short 4 / 4 int 4 / 4 long 4 / 4 half 0 / 0 (cl_khr_fp16) float 4 / 4 double 0 / 0 (n/a) Half-precision Floating-point support <68: get="" cl_device_half_fp_config="" ="" error="" -30=""> Single-precision Floating-point support (core) Denormals No Infinity and NANs Yes Round to nearest Yes Round to zero Yes Round to infinity No IEEE754-2008 fused multiply-add No Support is emulated in software No Correctly-rounded divide and sqrt operations No Double-precision Floating-point support (n/a) Address bits 32, Little-Endian Global memory size 268435456 (256MiB) Error Correction support Yes Max memory allocation 134217728 (128MiB) Unified memory for Host and Device Yes Minimum alignment for any data type 128 bytes Alignment of base address 2048 bits (256 bytes) 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 65536 pixels Max 1D or 2D image array size 8192 images Max 2D image size 8192x8192 pixels Max 3D image size 8192x8192x8192 pixels Max number of read image args 128 Max number of write image args 8 Local memory type Global Local memory size 32768 (32KiB) Max number of constant args 9 Max constant buffer size 65536 (64KiB) Max size of kernel argument 1024 Queue properties Out-of-order execution Yes Profiling Yes Prefer user sync for interop Yes Profiling timer resolution 1000ns Execution capabilities Run OpenCL kernels Yes Run native kernels No printf() buffer size 1048576 (1024KiB) Built-in kernels (n/a) Device Extensions cl_khr_byte_addressable_store cl_khr_gl_sharing cl_khr_fp16 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics
NULL platform behavior clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) No platform clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [viv] clCreateContext(NULL, ...) [default] Success [viv] clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) Success (1) Platform Name Vivante OpenCL Platform Device Name Vivante OpenCL Device GC7000UL.6202.0000 clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) Success (1) Platform Name Vivante OpenCL Platform Device Name Vivante OpenCL Device GC7000UL.6202.0000 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 Vivante OpenCL Platform Device Name Vivante OpenCL Device GC7000UL.6202.0000
View full article