cuda atomicMin
操作似乎只找到设备内存中继的最小值。但是,无论如何找到哪个块/线程最终找到这个最小值?我有compute-2.0。
答案 0 :(得分:2)
如果在32位值上执行atomicMin
,则可以对64位值使用广义原子操作,其中32位表示最小化值,32位表示全局索引的线程。概述了一般方法here。
由于64位atomicMin
为only supported on cc 3.5 devices,我假设您找到的是32位最小值。
如果您正在使用64位值,则可以使用并行缩减技术通过缩减来携带最小(或最大)值和索引。 This question/answer演示了一种并行缩减方法,该方法在矩阵的每一行中找到最大值和索引值。