2

我有一个关于平均块的问题。我输入的数据大小为 256*512,我将 256 个线程放在一个块中,所以总共有 512 个块。输出的大小应为 256,每个元素是不同块之间相同线程 ID 的平均值。所以换句话说,来自所有 512 个块的线程 1 被平均,并将结果提供给输出数组的线程 1。类似地,来自所有 512 个块的线程 2 被平均并提供给输出数组的线程 2。我知道通过使用共享内存在块内进行平均是非常快速和高效的,但这不是这里的条件。使用 NPP 函数可以让我在 for 循环中完成它,但它确实很耗时。任何人都可以就如何有效地对块进行平均提出建议吗?非常感谢!

4

1 回答 1

2

为什么不翻转它,每个块执行 512 个线程并进行共享内存减和以计算块内的总和,然后除以 512 并存储到全局内存?

您还可以使用推力快速编码,使用按键减少操作。

于 2012-08-10T11:35:10.147 回答