OSX在英特尔Iris Graphics 6100上实现OpenCL的矢量宽度(MBP 2015)

时间:2016-09-06 07:03:30

标签: c++ macos vector opencl gpgpu

According to Wikipedia, the Iris Graphics 6100 has 48 execution units (EU) with each having a pair of 128 bit FPUs.因此每个EU应该支持8个浮点类型的向量。当轮询设备以获得GPU的首选矢量宽度时,除了double之外,每种类型都会显示为1。那就是0.这个双打的预期行为是不受支持的。 CPU正确返回所有信息。所有48个GPU EU也被认为存在。

这只是clGetDeviceInfo的Apple实现的错误吗?至少应该输出char向量的首选宽度大于int向量。但他们都回归1.

驱动程序是最新版本(2016年8月29日)。

编辑:

clGetDeviceInfo(devices[j], CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT, sizeof(maxWidth), &maxWidth, NULL);

clGetDeviceInfo(devices[j], CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT, sizeof(maxWidth), &maxWidth, NULL);

GPU上的所有类型都返回1.

CPU为Char,Short,Int / Float返回16,8,4所有。

1 个答案:

答案 0 :(得分:1)

在Intel GEN Graphics上,浮点向量的首选向量宽度为4,与float4相同。对于某些内核,float8有时是有意义的。所以我认为这是MacOSX驱动程序的一个问题。