如何在Cuda编程中为矩阵做元素指数

时间:2014-08-19 02:51:14

标签: c++ matrix cuda gpu cublas

如何在Cuda编程中为矩阵做元素指数?

例如:

A = [1 3 4; 6 5 2];

我想计算:

B = [exp(1),exp(3),exp(4); EXP(6);实验值(5);(2)]

有没有办法有效地做到这一点(即B取代A)? 看来cublas没有在矩阵上提供元素操作。

1 个答案:

答案 0 :(得分:2)

我不知道是否存在对矩阵进行元素操作的库,但是您可以轻松地设置CUDA内核来完成这项工作。例如,您可以为每个线程提供A矩阵的一个元素,并且它们可以执行指数并在B中写入答案。然后像往常一样调用CUDA内核。看看at this,了解如何实现内核以及如何调用它(但不要像在gpuMM中那样将两个向量相乘,而是将其指数化。)

编辑:看起来您可以使用Thrust和一组宏Newton执行元素操作,如此SO question中所示。< / p>