所以,这是我运行CLinfo的clinfo.log
Platform Name: Intel(R) OpenCL
Number of devices: 1
Device Type: CL_DEVICE_TYPE_CPU
Device ID: 32902
Max compute units: 2
Max work items dimensions: 3
Max work items[0]: 1024
Max work items[1]: 1024
Max work items[2]: 1024
Max work group size: 1024
Preferred vector width char: 1
Preferred vector width short: 1
Preferred vector width int: 1
Preferred vector width long: 1
Preferred vector width float: 1
Preferred vector width double: 1
Max clock frequency: 2930Mhz
Address bits: 14757395255531667488
Max memory allocation: 536838144
Image support: Yes
Max number of images read arguments: 480
Max number of images write arguments: 480
Max image 2D width: 16384
Max image 2D height: 16384
Max image 3D width: 2048
Max image 3D height: 2048
Max image 3D depth: 2048
Max samplers within kernel: 480
Max size of kernel argument: 3840
Alignment (bits) of base address: 1024
Minimum alignment (bytes) for any datatype:128
Single precision floating point capability
Denorms: Yes
Quiet NaNs: Yes
Round to nearest even: Yes
Round to zero: No
Round to +ve and infinity: No
IEEE754-2008 fused multiply-add: No
Cache type: Read/Write
Cache line size: 64
Cache size: 3145728
Global memory size: 2147352576
Constant buffer size: 131072
Max number of constant args: 480
Local memory type: Global
Local memory size: 32768
Error correction support: 0
Profiling timer resolution: 350
Device endianess: Little
Available: Yes
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: Yes
Queue properties:
Out-of-Order: Yes
Profiling : Yes
Platform ID: 00531298
Name: Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz
Vendor: Intel(R) Corporation
Driver version: 3.0.1.15216
Profile: FULL_PROFILE
Version: OpenCL 1.2 (Build 80752)
Extensions: cl_khr_fp64 cl_khr_icd 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_intel_printf cl_ext_device_fission cl_intel_exec_by_local_thread cl_khr_gl_sharing cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d11_sharing
现在,如果我理解正确,请注意以下几行:
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: Yes
Queue properties:
Out-of-Order: Yes
Profiling : Yes
意味着我确实拥有OpenCL功能。
但是,当我尝试使用MAthematica的OpenCL功能时,它说我不能做OpenCL。
这不是关于Mathematica的问题,而是一个关于我是否具有OpenCL功能的问题。
所以,有人可以检查日志,因为大部分都是希腊语。
答案 0 :(得分:0)
是。这表明您确实有一个正常运行的Intel OpenCL CPU实现。实现是针对OpenCL 1.2规范(相当新的)。不确定Mathematica为何无法找到OpenCL。
也许尝试一些其他OpenCL启用的程序(来自样本或其他东西)。但我认为确定Mathematica是否支持英特尔版本的OpenCL可能是一个很好的方向。
旁注:https://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clGetDeviceInfo.html具有CLInfo正在使用的某些符号的编程定义(CLInfo也可能列出类似的信息)。
答案 1 :(得分:0)
是的,您有一个OpenCL兼容设备。但我并不是说使用OpenCL的任何应用程序都会在其上运行 应用程序告诉您不能使用OCL的原因有很多,例如:
应用程序查询特定类型的OCL设备,例如CL_DEVICE_TYPE_GPU,但您只有CPU OCL兼容,因此该应用程序会告诉您否。
与上述内容相同,但会搜索设备不支持的特定扩展程序。
基本上,您在日志中收集的任何信息都可以通过OCL应用程序进行查询,并且可能不喜欢某些数字(本地内存不足等)。在这里,我怀疑这是...