如何使用 CUDA 库用特定整数替换非零值?
How to replace non zero values with a particular integer using CUDA library?
我想用整数 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(), X.end(), [](int n) {
return n != 0;
}, 1);
我想用整数 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(), X.end(), [](int n) {
return n != 0;
}, 1);