2014-03-13 15 views
0

我需要某種方式來計算CUDA內核中矩陣的指數。有沒有可以在CUDA線程中調用這個任務的函數庫?或者也許有可能從零開始實現這個功能,如__device__函數?如何計算CUDA線程內矩陣的指數?

我正在使用Microsoft Visual Studio 2008 Express進行主機代碼編譯以及工具包3.2v中的nvcc編譯器。

GPU:NVIDIA的GeForce GT640(計算能力3.0)

回答

0

沒有有沒有這樣的事情在CUDA庫,但你可以看看這個代碼,以幫助您設計在CUDA的解決方案:

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

如果您正在使用體系結構3.5,則可以通過從其他__global__內核調用__global__內核而無需在主機上返回來更好地解決您的問題(使用動態並行性),以便可以設置要執行的配置(線程和塊)。

基本上是:

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

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

希望這可以幫助

+0

如果使用cc> 3.5的卡上,則可以從內核中調用CUBLAS例程。這將有助於執行所需的矩陣乘法。 – JackOLantern