Opencl Snapdragon 820 Adreno 530不';无法返回正确的设备信息

Opencl Snapdragon 820 Adreno 530不';无法返回正确的设备信息,opencl,device,qualcomm,Opencl,Device,Qualcomm,我正在尝试从Snapdragon 820设备(三星Galaxy S7)上的Adreno 530 GPU获取CL_设备_MAX_计算单位和CL_设备_MAX_时钟频率设备信息。但是,我得到了4个CL_设备最大计算单位和1个CL_设备最大时钟频率。这似乎是错误的,因为CL_设备_MAX_CLOCK_FREQUENCY=1意味着1MHz。以下是我提取这些信息的代码: cl_uint buf_uint; clGetDeviceInfo(device.get(), CL_DEVICE_MAX_COMPUT

我正在尝试从Snapdragon 820设备(三星Galaxy S7)上的Adreno 530 GPU获取CL_设备_MAX_计算单位和CL_设备_MAX_时钟频率设备信息。但是,我得到了4个CL_设备最大计算单位和1个CL_设备最大时钟频率。这似乎是错误的,因为CL_设备_MAX_CLOCK_FREQUENCY=1意味着1MHz。以下是我提取这些信息的代码:

cl_uint buf_uint;
clGetDeviceInfo(device.get(), CL_DEVICE_MAX_COMPUTE_UNITS, sizeof(buf_uint), &buf_uint, NULL);
printf("  DEVICE_MAX_COMPUTE_UNITS = %u\n", (unsigned int)buf_uint);
clGetDeviceInfo(device.get(), CL_DEVICE_MAX_CLOCK_FREQUENCY, sizeof(buf_uint), &buf_uint, NULL);
printf("  DEVICE_MAX_CLOCK_FREQUENCY = %u\n", (unsigned int)buf_uint);
注:设备类型为cl::设备


对于Mac来说,它似乎工作正常。我为Intel Iris Pro提供了40个计算单元和1200 MHz时钟频率。

我在SDM665 SDM845上也有同样的问题

[INFO][OCL INFO] DEVICE MAX CLOCK FREQUENCY (1) MHz
我怀疑高通公司不想泄露这个秘密

[INFO][OCL INFO] OPENCL DEVICE BASIC INFO:
[INFO][OCL INFO] CL_DEVICE_TYPE : CL_DEVICE_TYPE_GPU
[INFO][OCL INFO] CL_DEVICE_NAME : QUALCOMM Adreno(TM)
[INFO][OCL INFO] CL_DEVICE_VENDOR       : QUALCOMM
[INFO][OCL INFO] CL_DEVICE_VERSION      : OpenCL 2.0 Adreno(TM) 610
[INFO][OCL INFO] CL_DEVICE_OPENCL_C_VERSION     : OpenCL C 2.0 Adreno(TM) 610
[INFO][OCL INFO] CL_DEVICE_PROFILE      : FULL_PROFILE
[INFO][OCL INFO] CL_DRIVER_VERSION      : OpenCL 2.0 QUALCOMM build: commit #03e27f8 changeid #I326e6aff90 Date: 11/02/20 Mon Local Branch: mybrancheb1d781c-1a78-f1f4-8c78-ac1f6bcc2cee Remote Branch: quic/gfx-adreno.lnx.1.0.r116-rel Compiler E031.37.12.02

[INFO][OCL INFO] OPENCL DEVICE PERFORMANCE INFO:
[INFO][OCL INFO] DEVICE ADDRESS BITS (64) bits
[INFO][OCL INFO] DEVICE MAX CLOCK FREQUENCY (1) MHz
[INFO][OCL INFO] DEVICE MAX COMPUTE UNITS (1) IN ONE DEVICE

在运行我自己的示例并在Galaxy S8上使用OpenCL-Z工具后,我可以确认这两个值是4和1。。。我觉得这一定是高通OpenCL驱动程序上的一个bug,或者是Anks@FrickeFresh上的某个bug。我怀疑高通公司不想透露这一信息:)?