when running clinfo command on my platform, I noticed OpenCL Device(ADM Radeon HD8470) doesn't support "Image Support". As a beginner, I don't know why such a problem occurred. It's whether a fault which about AMD HD8470 Device or Video Driver on my platform, or I was ever neglect some compiling options when build mesa(packages such as mesa-libOpenCL/mesa-libOpenCL-devel come from mesa source rpm package ). Information about my platfom as follows: ******************************************************************************* #1. clinfo enumerates the OpenCL platform and Device [root@localhost ~]# clinfo Number of platforms 1 Platform Name Clover Platform Vendor Mesa Platform Version OpenCL 1.1 Mesa 18.0.5 Platform Profile FULL_PROFILE Platform Extensions cl_khr_icd Platform Extensions function suffix MESA Platform Name Clover Number of devices 1 Device Name AMD CAICOS (DRM 2.49.0 / 3.10.84-21.fc21.loongson.18.mips64el, LLVM 8.0.0) Device Vendor AMD Device Vendor ID 0x1002 Device Version OpenCL 1.1 Mesa 18.0.5 Driver Version 18.0.5 Device OpenCL C Version OpenCL C 1.1 Device Type GPU Device Profile FULL_PROFILE Max compute units 2 Max clock frequency 775MHz Max work item dimensions 3 Max work item sizes 256x256x256 Max work group size 256 Preferred work group size multiple 64 Preferred / native vector sizes char 16 / 16 short 8 / 8 int 4 / 4 long 2 / 2 half 0 / 0 (n/a) float 4 / 4 double 0 / 0 (n/a) Half-precision Floating-point support (n/a) Single-precision Floating-point support (core) Denormals No Infinity and NANs Yes Round to nearest Yes Round to zero No 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 1073741824 (1024MiB) Error Correction support No Max memory allocation 751619276 (716.8MiB) Unified memory for Host and Device No Minimum alignment for any data type 128 bytes Alignment of base address 131072 bits (16384 bytes) Global Memory cache type None ######################################################################## Image support No ######################################################################## Local memory type Local Local memory size 32768 (32KiB) Max constant buffer size 751619276 (716.8MiB) Max number of constant args 15 Max size of kernel argument 1024 Queue properties Out-of-order execution No Profiling Yes Profiling timer resolution 0ns Execution capabilities Run OpenCL kernels Yes Run native kernels No Device Available Yes Compiler Available Yes Device Extensions cl_khr_byte_addressable_store 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, ...) Clover clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [MESA] clCreateContext(NULL, ...) [default] Success [MESA] clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) Success (1) Platform Name Clover Device Name AMD CAICOS (DRM 2.49.0 / 3.10.84-21.fc21.loongson.18.mips64el, LLVM 8.0.0) 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 Clover Device Name AMD CAICOS (DRM 2.49.0 / 3.10.84-21.fc21.loongson.18.mips64el, LLVM 8.0.0) ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.2.7 ICD loader Profile OpenCL 1.2 ******************************************************************************* #2、platfom infomation [root@localhost ~]# lscpu Architecture: mips64 Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1 Model name: ICT Loongson-3A R3 (Loongson-3A3000) @ 1399MHz CPU max MHz: 1399.9860 CPU min MHz: 349.9960 NUMA node0 CPU(s): 0-3 [root@localhost ~]# uname -a Linux localhost 3.10.84-21.fc21.loongson.18.mips64el #1 SMP PREEMPT Tue Apr 16 18:41:34 CST 2019 mips64 mips64 mips64 GNU/Linux ******************************************************************************* #information about mesa opencl packages: [root@localhost ~]# rpm -qa | grep mesa | grep -w 18 mesa-libOpenCL-18.0.5-4.fc21.loongson.mips64el mesa-libOpenCL-devel-18.0.5-4.fc21.loongson.mips64el mesa-filesystem-18.0.5-4.fc21.loongson.mips64el mesa-libgbm-devel-18.0.5-4.fc21.loongson.mips64el mesa-libgbm-18.0.5-4.fc21.loongson.mips64el mesa-dri-drivers-18.0.5-4.fc21.loongson.mips64el mesa-vdpau-drivers-18.0.5-4.fc21.loongson.mips64el Anyone can give some hints about this problem? The following links shows AMD HD8470 Device support OpenCL 1.2. ******************************************************************************* #AMD official links on HD8470 Device https://www.techpowerup.com/gpu-specs/radeon-hd-8470-oem.c1978 If the problem can't be solved via software path, Maybe the best choice is changing OpenCL Device or Platform.
Thanks, it's interesting to see r600-clover running on loongson. Image support is a long-standing issue (see #87738). evergreen class GPUs have also other issues which have a higher priority. *** This bug has been marked as a duplicate of bug 87738 ***
@Jan Vesely Thank you very much for your reply. After reading the Bug(id 87738), I realized this is a software issue in mesa OpenCL implementation framework. But for AMD graphics card, Clover Platform may be the only platform which can be used to heterogeneous-computing for me, since platforms such as AMD APP SDK 3.0 and Nvidia CUDA do not currently support the Mips64el architecture, and the associated graphics drivers are closed source. Fortunately, some of the test cases related to matrix convolution operations have been able to execute on the Loongson platform.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.