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

时间:2014-03-13 14:25:17

标签: c++ matrix cuda exponential

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

我正在使用Microsoft Visual Studio 2008 Express进行主机代码编译,并使用工具包3.2v中的nvcc编译器。

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

1 个答案:

答案 0 :(得分:0)

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

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

如果您正在使用体系结构3.5,通过从其他__global__内核调用__global__内核而不返回主机,可以更容易地解决您的问题(使用动态并行)可以设置要执行它的配置(线程和块)。

基本上:

__global__ child( ... ) 
{
   ....
}

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

希望这可以提供帮助