如何使用CUDA库将非零值替换为特定整数?

问题描述

我想用整数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); 

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...