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

How to do element wise exponential for a matrix in Cuda programming

本文关键字:元素 指数 Cuda 编程      更新时间:2023-10-16

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

例如:

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

我想计算:

B = [exp(1),exp(3),exp(4);exp (6); exp (5); (2)]

是否有一种有效的方法来做它,并在适当的地方做(即,B取代a)?似乎cublas不提供对矩阵的元素明智操作

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

EDIT:看起来您可以使用Thrust和一组宏Newton进行元素智能操作,如这个SO问题所示。