【问题标题】:CUDA how to compare two 2D arrays?CUDA如何比较两个二维数组?
【发布时间】:2011-05-28 10:09:27
【问题描述】:

是否有任何有效的算法可以尽可能快地比较 CUDA 中的两个二维数组?因此,我需要多个相等的数组字段。

提前感谢您的帮助!

【问题讨论】:

    标签: arrays comparison cuda


    【解决方案1】:

    如果您只想要两个数组之间相等元素的数量,请尝试减少操作。在 NVIDIA 的网站上有一个这样的例子:reduction。正常的求和减少找到数组a 中所有元素的总和。您想要的是所有元素的表达式 a == b 的总和。您应该查看有关 CUDA 缩减实现的文章。

    【讨论】:

    • 链接断开,很遗憾。 This,也许?
    【解决方案2】:

    对于这些类型的操作,我建议查看http://code.google.com/p/thrust/

    两个可能有用的相关操作是thrust::transform 来构造一个布尔数组和thrust::count_if 来进行归约。使用花哨的迭代器等更有效的技术也是可能的。浏览教程。

    【讨论】:

    • 或使用 thrust::equal thrust.github.io/doc/… 。 (大部分工作将是使 2D 结构适应推力可以承受的东西。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多