【问题标题】:Can we know which block/thread find the minimum value of the device memory?我们能知道哪个块/线程找到设备内存的最小值吗?
【发布时间】:2013-08-25 19:42:12
【问题描述】:

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

【问题讨论】:

    标签: cuda


    【解决方案1】:

    如果你对一个 32 位的值做atomicMin,你可以对一个 64 位的值使用广义原子操作,其中 32 位表示最小化的值,其中 32 位表示全局索引线。概述了通用方法here

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-09
      • 1970-01-01
      • 2015-03-17
      • 2018-12-28
      • 1970-01-01
      • 2018-04-30
      • 2018-07-26
      相关资源
      最近更新 更多