问题描述
我想用整数1替换设备矢量的所有非零元素。我特别想仅使用CUDA库执行此操作。
有没有推力功能可以帮助我达到目标?
解决方法
给出设备向量:
thrust::device_vector<int> X;
您可以像这样使用推力algorithms之一:
thrust::transform(X.begin(),X.end(),X.begin(),[](int n) {
return n ? 1 : 0;
});
或
thrust::replace_if(X.begin(),[](int n) {
return n != 0;
},1);