我在CUDA中有一个向量(x_dev
),它有B个元素并且是双重类型。
我正在寻找最好的方法,从下一个元素中减去每个元素,并覆盖向量。
(我不关心最后一个元素。)
基本上,这个c ++代码的对应部分:
for(int i = 0; i < B-1; i++)
x_dev[i] = x_dev[i] - x_dev[i+1];
答案 0 :(得分:1)
您可以使用thrust::transform
thrust::transform(x.begin(), x.end()-1, x.begin()+1, x.begin(), _1 - _2);