矢量宽度 OSX 在 Intel Iris Graphics 6100 上实施 OpenCL (MBP 2015)
Vector Width on OSX Implementation of OpenCL on the Intel Iris Graphics 6100 (MBP 2015)
According to Wikipedia, the Iris Graphics 6100 has 48 execution units (EU) with each having a pair of 128 bit FPUs.所以每个EU应该支持8种浮点类型的向量。当轮询设备以获取 GPU 的首选矢量宽度时,除双精度类型外,每种类型都显示为 1。结果为 0。这是预期的行为,因为不支持双精度数。 CPU return 正确编辑了所有信息。所有 48 个 GPU EU 也被识别为存在。
这只是 Apple 实现的 clGetDeviceInfo 的一个错误吗?它至少应该输出 char 向量的首选宽度大于 int 向量。但他们都是 returning 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);
两者 return 1 用于 GPU 上的所有类型。
CPU returns 16, 8, 4 for Char, Short, Int/Float 恭敬。
在 Intel GEN Graphics 上,浮点向量的首选向量宽度为 4,如 float4。对于某些内核,float8 有时是有意义的。所以我认为这是 MacOSX 驱动程序的问题。
According to Wikipedia, the Iris Graphics 6100 has 48 execution units (EU) with each having a pair of 128 bit FPUs.所以每个EU应该支持8种浮点类型的向量。当轮询设备以获取 GPU 的首选矢量宽度时,除双精度类型外,每种类型都显示为 1。结果为 0。这是预期的行为,因为不支持双精度数。 CPU return 正确编辑了所有信息。所有 48 个 GPU EU 也被识别为存在。
这只是 Apple 实现的 clGetDeviceInfo 的一个错误吗?它至少应该输出 char 向量的首选宽度大于 int 向量。但他们都是 returning 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);
两者 return 1 用于 GPU 上的所有类型。
CPU returns 16, 8, 4 for Char, Short, Int/Float 恭敬。
在 Intel GEN Graphics 上,浮点向量的首选向量宽度为 4,如 float4。对于某些内核,float8 有时是有意义的。所以我认为这是 MacOSX 驱动程序的问题。