从未排序的推力::向量中删除顺序重复项

时间:2019-06-17 21:03:03

标签: cuda thrust

背景

摘要
我有每日股票价格的向量。我想删除价格未更改的所有日期。

示例
在[100,100,100,95,97,100,80,80]之前
在[100,95,97,100,80]

之后

我已经尝试过
我曾尝试使用 copy_if remove_if ,但是每个测试价格[i]都没有找到比较价格[i] ==价格[i- 1]在GPU上并行。

我看了几个不同的答案
Removing elements from CUDA array是关于删除多个向量中的重复项。

parallel removal of elements from an array正在询问/解释推力源代码的工作原理。

我找到的大多数答案都是关于删除所有重复项,而我只想删除彼此直接相邻的重复项。

我曾尝试编写自己的cuda内核,但我想不出没有if语句的方法,而且据我了解,使用if语句会导致性能大幅下降。

问题

是否可以使用推力库或我自己的内核来删除顺序重复项,因此每个“新”值中只有​​一个。

我对并行性还很陌生,所以如果这是一个愚蠢的问题,请保持警惕。

0 个答案:

没有答案