nvidiagpu编程中,一个线程块包含多少个线程性能最优?这个是怎么确定的?

书中都提到,线程块有一个最佳的线程个数,但都没提到怎么确定这个最佳值,求指导

基本上

线程数量=cpu数量*核心数量*2

可以保证cpu利用率拉满,但不产生排队
当然这只是理论上的,实际上根据系统当前繁忙情况而定,除非整个系统只运行你的一个程序
-=-=-=-=-=-
cpu数量 x 核心数量应该好理解吧,每个核心都跑一个线程,即不会有核心闲着,也不要太多
为什么x2呢,因为intel芯片有虚拟线程技术,可以一个计算周期运行两个单独的任务。不过实际执行效率并不能真的达到2倍,差不多1.5倍左右吧。