【发布时间】:2012-09-09 22:20:42
【问题描述】:
如何使用 CUDA 有效地从数组中并行删除零值。 有关零值数量的信息可提前获得, 这应该可以简化这项任务。
保持数字在源数组中的顺序很重要, 当被复制到结果数组时。
例子:
数组将例如包含以下值: [0, 0, 19, 7, 0, 3, 5, 0, 0, 1] 附加信息是 5 个值为零。 所需的最终结果将是另一个数组,其中包含: [19、7、3、5、1]
【问题讨论】:
-
确定要删除零吗?如果你删除非零,你会得到一个只有零的数组?!
-
是的,纠正了这一点。我正在寻找一种从源数组中删除零值的有效方法。
-
我想通过 cuda 线程替换 for 循环,有效地并行删除。
-
这听起来像是标准的流流压缩操作
-
在搜索算法方法时,这绝对是正确的。谢谢你的回答。