Cuda Thrust获得一个片段中的前一个元素

时间:2016-08-13 11:40:59

标签: c++ algorithm parallel-processing cuda thrust

我有一个值向量和一个键向量(表示一个段)

v = [1, 1, 1, 2, 3, 5, 6]
k = [0, 0, 1, 1, 0, 2, 2]

对于每个元素,我想知道它的前一个元素(在同一个段中)。 它可能是原始向量中的值或索引并不重要。

所以结果应该是(如果有价值)

r = [nan, 1, nan, 1, 1, nan, 5]

你可以使用任何元素而不是nan,因为算法的剩余部分无关紧要。

可能我可以使用独占的分段扫描和max操作而不是sum来存档它。 所以有两个问题:

  1. 我的方法是否正确?
  2. 是否有更优雅或更有效的解决方案?

0 个答案:

没有答案