Матрица макс а ля матлаб на гпу

Я портирую некоторый код из Matlab для работы на GPU Nvidia. Я не могу найти способ сделать следующее:

B = max(A, 0)

где A и B - матрицы. На словах мне нужно заменить отрицательные значения в матрице нулями. Я знаю, как написать функцию ядра, но я бы хотел придерживаться вызовов cuBLAS или magma, если это возможно (чтобы избежать добавления nvcc в мой процесс сборки).

1 ответ

Я придумал что-то с помощью тяги:

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

Если это неправильно, или если есть лучшее решение, я открыт для других предложений.

Другие вопросы по тегам