首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >预先计算的参数是否有助于性能?

预先计算的参数是否有助于性能?
EN

Stack Overflow用户
提问于 2013-05-16 20:23:11
回答 1查看 87关注 0票数 2

例如,如果我在m x n矩阵上操作,我很可能需要将mn传递给内核。

如果我还需要知道总点数( N ),那么N 是否应该将作为参数(并消耗带宽)传递给,还是在内核中为每个线程在本地计算N(虽然N实际上只需要计算一次),但对于许多重复操作,需要消耗处理能力?

在这里,我讨论的是内核,这些内核为一个大型数据集集合启动了1000次,所以我真的在努力提高性能。

Stride是另一个例子,在启动内核之前,您知道TBP和BPG,因此可以预先计算。

EN

回答 1

Stack Overflow用户

发布于 2013-05-18 07:12:12

为了回答这个问题,你至少需要知道一件事。

我的限制因素是什么?

基本上,你有两个选择:

  • 内核是内存绑定的--这意味着您经常从全局内存中读取/写入(通常),并且/或与已访问->的内存相比具有少量的计算量,您不必担心这样的优化。
  • 您的内核是计算绑定的-这意味着r/w流量完全隐藏在计算量中,正如您所描述的那样,->优化可能会有所帮助,但不一定会有所帮助。

知道哪一个是运行分析器和运行内核分析的最佳选择。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16596781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档