如何在CUDA线程内计算矩阵的指数

How to compute exponential of a matrix inside CUDA thread?

本文关键字:指数 计算 CUDA 线程      更新时间:2023-10-16

我需要以某种方式能够在CUDA内核中计算矩阵的指数。是否有任何库的函数可以从CUDA线程内调用此任务?或者也许有可能从头开始实现这个函数作为__device__函数?

我使用Microsoft Visual Studio 2008 Express进行主机代码编译,并从toolkit 3.2v中使用nvcc编译器。

GPU: NVIDIA GeForce GT640(计算能力3.0)

不,CUDA库中没有这样的东西,但您可以查看以下代码来帮助您在CUDA中设计解决方案:

https://github.com/poliu2s/MKL/blob/master/matrix_exponential.cpp

如果你使用的是3.5的体系结构,可以通过从另一个__global__内核调用__global__内核而不返回主机,这样你就可以设置你想要执行的配置(线程和块)来更容易地解决你的问题(动态并行)。

基本上

:

__global__ child( ... ) 
{
   ....
}
__global__ parent( ... )
{
   child<<< ..., ... >>>( ... )
}

希望对大家有所帮助