我们能知道哪个块/线程找到了设备内存的最小值吗?

时间:2013-08-25 19:42:12

标签: cuda

cuda atomicMin操作似乎只找到设备内存中继的最小值。但是,无论如何找到哪个块/线程最终找到这个最小值?我有compute-2.0。

1 个答案:

答案 0 :(得分:2)

如果在32位值上执行atomicMin,则可以对64位值使用广义原子操作,其中32位表示最小化值,32位表示全局索引的线程。概述了一般方法here

由于64位atomicMinonly supported on cc 3.5 devices,我假设您找到的是32位最小值。

如果您正在使用64位值,则可以使用并行缩减技术通过缩减来携带最小(或最大)值和索引。 This question/answer演示了一种并行缩减方法,该方法在矩阵的每一行中找到最大值和索引值。