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所有。
答案 0 :(得分:1)
在Intel GEN Graphics上,浮点向量的首选向量宽度为4,与float4相同。对于某些内核,float8有时是有意义的。所以我认为这是MacOSX驱动程序的一个问题。