是否可以在OpenCL中查询处理元素的数量(每个计算单元)?如果有,怎么样?我在clGetDeviceInfo
doc page上找不到相应的参数。
我不确定处理元素是否是标准术语。我从this video获得了这个词。
我想查询这些信息,因为我很好奇,不是出于实际目的。
答案 0 :(得分:2)
处理元素(PE)是标准术语,您无法查询该数字。
现在我看到一些不可能的原因:
定义本身:
PE:虚拟标量处理器。工作项可以在一个或多个上执行 处理要素。
因此,根据体系结构,返回的数字或多或少是毫无意义的。我认为例如以前使用VLIW处理器的AMD GPU架构。
PE是一个抽象,在标准中最有用,用于说明/定义一些概念,例如,参见给定给SIMD,SPMD和平台模型的定义。但是这个概念并没有在实践中使用(尽管开发人员知道实现良好性能非常有用)。您将关心工作组中的最大工作项数。
即使在给定的体系结构中,处理元素也是不同的类型。例如,如果我们采用GK110 Kepler Architecture SMx(相当于计算单元)具有192个SP CUDA核心,64个DP单元,32个特殊功能单元(SFU)。那么,要求PE数量的查询的返回数量应该是多少?