OpenCL:查询处理元素的数量

时间:2014-01-16 18:39:29

标签: opencl

是否可以在OpenCL中查询处理元素的数量(每个计算单元)?如果有,怎么样?我在clGetDeviceInfo doc page上找不到相应的参数。

我不确定处理元素是否是标准术语。我从this video获得了这个词。

我想查询这些信息,因为我很好奇,不是出于实际目的。

1 个答案:

答案 0 :(得分:2)

处理元素(PE)是标准术语,您无法查询该数字。

现在我看到一些不可能的原因:

  1. 定义本身:

      

    PE:虚拟标量处理器。工作项可以在一个或多个上执行   处理要素。

    因此,根据体系结构,返回的数字或多或少是毫无意义的。我认为例如以前使用VLIW处理器的AMD GPU架构。

  2. PE是一个抽象,在标准中最有用,用于说明/定义一些概念,例如,参见给定给SIMD,SPMD和平台模型的定义。但是这个概念并没有在实践中使用(尽管开发人员知道实现良好性能非常有用)。您将关心工作组中的最大工作项数。

  3. 即使在给定的体系结构中,处理元素也是不同的类型。例如,如果我们采用GK110 Kepler Architecture SMx(相当于计算单元)具有192个SP CUDA核心,64个DP单元,32个特殊功能单元(SFU)。那么,要求PE数量的查询的返回数量应该是多少?