张雅男 发表于 2022-3-29 15:18:47

rk3588 opencl 不支持double的数据类型。


clinfo 指令打印信息如下:
Number of platforms                               1
Platform Name                                 ARM Platform
Platform Vendor                                 ARM
Platform Version                              OpenCL 2.1 v1.g6p0-01eac0.efb75e2978d783a80fe78be1bfb0efc1
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_subgroup_extended_types cl_khr_subgroup_non_uniform_vote cl_khr_subgroup_ballot cl_khr_il_program cl_khr_priority_hints cl_khr_create_command_queue cl_khr_spirv_no_integer_wrap_decoration cl_khr_extended_versioning cl_khr_device_uuid cl_arm_core_id cl_arm_printf cl_arm_non_uniform_work_group_size cl_arm_import_memory cl_arm_import_memory_dma_buf cl_arm_import_memory_host cl_arm_integer_dot_product_int8 cl_arm_integer_dot_product_accumulate_int8 cl_arm_integer_dot_product_accumulate_saturate_int8 cl_arm_scheduling_controls cl_arm_controlled_kernel_termination cl_ext_cxx_for_opencl
Platform Host timer resolution                  1ns
Platform Extensions function suffix             ARM

Platform Name                                 ARM Platform
Number of devices                                 1
arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'.
Device Name                                     Mali-LODX r0p0
Device Vendor                                 ARM
Device Vendor ID                              0xa8670000
Device Version                                  OpenCL 2.1 v1.g6p0-01eac0.efb75e2978d783a80fe78be1bfb0efc1
Driver Version                                  2.1
Device OpenCL C Version                         OpenCL C 2.0 v1.g6p0-01eac0.efb75e2978d783a80fe78be1bfb0efc1
Device Type                                     GPU
Device Profile                                  FULL_PROFILE
Device Available                              Yes
Compiler Available                              Yes
Linker Available                              Yes
Max compute units                               4
Max clock frequency                           1000MHz
Device Partition                              (core)
    Max number of sub-devices                     0
    Supported partition types                     None
    Supported affinity domains                  (n/a)
Max work item dimensions                        3
Max work item sizes                           1024x1024x1024
Max work group size                           1024
Preferred work group size multiple            16
Max sub-groups per work group                   64
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 operationsNo
Double-precision Floating-point support         (n/a)
Address bits                                    64, Little-Endian
Global memory size                              3893231616 (3.626GiB)
Error Correction support                        No
Max memory allocation                           3893231616 (3.626GiB)
Unified memory for Host and Device            Yes
Shared Virtual Memory (SVM) capabilities      (core)
    Coarse-grained buffer sharing               Yes
    Fine-grained buffer sharing                   No
    Fine-grained system sharing                   No
    Atomics                                       No
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
Global Memory cache size                        1048576 (1024KiB)
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               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                     128
Max constant buffer size                        3893231616 (3.626GiB)
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
Profiling timer resolution                      1000ns
Execution capabilities
    Run OpenCL kernels                            Yes
    Run native kernels                            No
    Sub-group independent forward progress      Yes
    IL version                                    SPIR-V_1.0
    SPIR versions                                 <printDeviceInfo:161: get CL_DEVICE_SPIR_VERSIONS size : error -30>
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_subgroup_extended_types cl_khr_subgroup_non_uniform_vote cl_khr_subgroup_ballot cl_khr_il_program cl_khr_priority_hints cl_khr_create_command_queue cl_khr_spirv_no_integer_wrap_decoration cl_khr_extended_versioning cl_khr_device_uuid cl_arm_core_id cl_arm_printf cl_arm_non_uniform_work_group_size cl_arm_import_memory cl_arm_import_memory_dma_buf cl_arm_import_memory_host cl_arm_integer_dot_product_int8 cl_arm_integer_dot_product_accumulate_int8 cl_arm_integer_dot_product_accumulate_saturate_int8 cl_arm_scheduling_controls cl_arm_controlled_kernel_termination cl_ext_cxx_for_opencl

NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)ARM Platform
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   Success
clCreateContext(NULL, ...)             Success
clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)Success (1)
    Platform Name                                 ARM Platform
    Device Name                                 Mali-LODX r0p0
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)Success (1)
    Platform Name                                 ARM Platform
    Device Name                                 Mali-LODX r0p0
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                                 ARM Platform
    Device Name                                 Mali-LODX r0p0

ICD loader properties
ICD loader Name                                 OpenCL ICD Loader
ICD loader Vendor                               OCL Icd free software
ICD loader Version                              2.2.11
ICD loader Profile                              OpenCL 2.1


板蓝根 发表于 2022-3-31 10:11:52

不支持的

张雅男 发表于 2022-4-13 11:29:56

板蓝根 发表于 2022-3-31 10:11
不支持的

官方怎么说,硬件不支持么?有什么方法么?

deepzf 发表于 2022-6-23 23:40:06

是什么原因导致的,是否可修复,何时修复

wx__wq5wRK 发表于 2022-11-18 10:58:04

张雅男 发表于 2022-4-13 11:29
官方怎么说,硬件不支持么?有什么方法么?

老哥您好,请问一下您使用opencl实现GPU加速计算了吗
页: [1]
查看完整版本: rk3588 opencl 不支持double的数据类型。