2017-03-29 8 views
0

私はMatlabからNvidia GPU上で動作するようにいくつかのコードを移植しています。私は、次の操作を実行する方法を理解することはできません。マトリックスmax a la matlab on gpu

AとBが行列
B = max(A, 0) 

。つまり、行列の負の値を0に置き換える必要があります。カーネル関数を書く方法を知っていますが、できるだけcuBLASまたはmagma呼び出しを使用しています(ビルドプロセスにnvccを追加するのを避けるため)。

答えて

1

私は推力を使って何かを作ってみた:これが間違っている、またはよりよい解決策がある場合、私は他の提案を開いている場合は

thrust::transform(A, A + m*n, [](double x) { thrust::max(x,0.0); }); 

関連する問題