Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在从 Matlab 移植一些代码以在 Nvidia GPU 上运行。我想不出一种方法来执行以下操作:
B = max(A, 0)
其中 A 和 B 是矩阵。换句话说,我需要用零替换矩阵中的负值。我知道如何编写一个内核函数,但如果可能的话,我想坚持使用 cuBLAS 或 magma 调用(以避免将 nvcc 添加到我的构建过程中)。
我想出了一些使用推力的东西:
thrust::transform(A, A + m*n, [](double x) { thrust::max(x,0.0); });
如果这是不正确的,或者如果有更好的解决方案,我愿意接受其他建议。