2013-10-11 67 views
3

我是CUDA編程的新手。現在,我有一個問題需要處理:我試圖使用CUDA並行編程來處理一組數據集。對於每個數據集,都需要進行一些矩陣計算。CUDA如何在一個內核函數中啓動一個新的內核調用?

我的設計是這樣的:

  1. 啓動N個線程來處理每個數據集,因爲它們是相互獨立的,並且該方法處理它們是相同的。

  2. 在1中的每個線程中,我想使用一個新函數,並且此函數也可以像內核一樣工作,因爲它們是矩陣計算。調用M線程並行處理矩陣計算..

有人知道是否有可能嗎?

回答

7

如果您使用CUDA動態並行並且您的GPU支持,您可以從另一個內核的線程啓動內核。目前支持CUDA動態並行的GPU的計算能力爲3.5。

您可以從CUDA deviceQuery樣本中發現設備的計算能力。

您可以通過CUDA編程指南section瞭解有關如何使用CUDA動態並行的更多信息。