CUDA如何比较两个2D阵列?

时间:2010-12-20 18:41:23

标签: arrays comparison cuda

是否有任何有效的算法可以尽可能快地比较CUDA中的两个2​​D阵列?因此,我需要一些相等的数组字段。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

可能有用的两个相关操作是push :: transform来构造一个布尔数组,push :: count_if来做减少。使用花式迭代器等的更有效的技术也是可能的。浏览教程。