当前我的计算机上有两张图形卡,我想选择一个具有更多计算能力的图形卡,我的解决方案是检查哪个有更多工作项。
那我如何获得图形卡上的工作项总数?
答案 0 :(得分:0)
请注意,“工作项”是一种软件概念,每个GPU着色器内核通常可以同时调度多个工作项(类似于CPU中的SMT /超线程)。通常可以调度多少个取决于内核使用多少本地内存以及执行单元的本地内存有多大。
标准OpenCL API无法提供有关设备上的着色器核心数量的信息。我建议您查询设备的其他属性(内存模型,设备内存大小,本地内存大小等)是否适合。然后,如果有一个以上合适的设备,请在每个内核上执行您的内核测试运行,并评估它们完成的速度,然后根据结果选择一个设备。或者,如果可以,请并行使用所有设备。