例如,如果我在m x n矩阵上操作,我很可能需要将m和n传递给内核。
如果我还需要知道总点数( N ),那么N 是否应该将作为参数(并消耗带宽)传递给,还是在内核中为每个线程在本地计算N(虽然N实际上只需要计算一次),但对于许多重复操作,需要消耗处理能力?
在这里,我讨论的是内核,这些内核为一个大型数据集集合启动了1000次,所以我真的在努力提高性能。
Stride是另一个例子,在启动内核之前,您知道TBP和BPG,因此可以预先计算。
发布于 2013-05-18 07:12:12
为了回答这个问题,你至少需要知道一件事。
我的限制因素是什么?
基本上,你有两个选择:
知道哪一个是运行分析器和运行内核分析的最佳选择。
https://stackoverflow.com/questions/16596781
复制相似问题