我想CUDA編程模型和編程一般都很新。我試圖並行化一個期望最大化算法。我正在研究具有計算能力2.0的gtx 480。起初,我認爲設備沒有理由啓動自己的線程,但當然,我很遺憾錯誤。我遇到這個pdf。CUDA動態並行的替代方案
http://docs.nvidia.com/cuda/pdf/CUDA_Dynamic_Parallelism_Programming_Guide.pdf
不幸的是,動態並行只適用於最新和最偉大的GPU,計算能力3.5。沒有深入研究太多的細節,動態平行的另一種選擇是什麼? CPU EM算法中的循環具有很多依賴性並且高度嵌套,這似乎使動態並行性成爲一種有吸引力的能力。我不確定我的問題是否有意義,所以請詢問是否需要澄清。
謝謝!
在動態並行機制中,內核中有內核調用。如果你規定內核調用可以用'for'循環交換,那麼粗略地說你應該用'for'循環交換嵌套的內核調用。 – JackOLantern
@RobertCrovella你們應該真的對GPU的命名做些事情。一個GT 640來作爲2.1,3.0和3.5?https://developer.nvidia.com/cuda-gpus –
@RobertCrovella GT 640不再顯示爲計算3.5。也許你想收回那條評論。 –