Blas 基于gpu的matlab矩阵max

Blas 基于gpu的matlab矩阵max,blas,cublas,magma,Blas,Cublas,Magma,我正在从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); }); 如果这是不正确的,或者如

我正在从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); });
如果这是不正确的,或者如果有更好的解决方案,我愿意接受其他建议