Re: [問題] 非常物件的C++程式碼要用CUDA加速....!?
※ 引述《tedd15550325 (天行者)》之銘言:
: 3. 我想知道C++用CUDA到底可不可行?能不能加速?
: 希望能有非常權威的評論或著有論文研究指出
: 不然只拿個ptt鄉民的答案似乎很難說服教授......┌┬囧"
你如果已經會 CUDA 的話,
應該會知道你要的程式能不能用 CUDA 加速吧?
通常,一隻程式沒辦法直接套用到 CUDA 上面就突然變快,
因為平行的演算法跟傳統的循序的演算法不太一樣,
即使是解同一個問題,平行的演算法通常是另外設計的。
就算解決問題的觀念相同,實作也會差很多。
老實說你不該想要拿現成的的程式碼來改,
一來是你手上那份程式碼,你能看懂的部分不到一半,
二來是演算法思維邏輯不一樣,你看懂也不一定很改成你要的。
你應該要從你的問題出發,想一個平行的解法,
設計你的演算法,然後自己實作。
能不能加速,跟 C++ 不 C++ 沒關係,
一個問題能不能平行加速通常跟問題的本質有關。
有的問題本質上是一定要經過循序運算才能得出結果的,
這種問題就無論如何無法平行運算。
你的問題應該可以平行加速,
如果你需要一些 paper 佐證,
我剛剛查了一下,沒人直接作過用 CUDA 算這個,
你可以到這邊搜索一下 "shortest" 可以找到人家作過的類似題目,
http://www.nvidia.com/object/cuda_apps_flash_new.html#
速度可以比傳統演算法的快上兩個數量級。
裡面不乏 Lecture Notes in Computer Science 的論文,
比起 PTT 阿宅我的文字權威度高出九千多倍左右。
你去裡面隨便找兩篇來念,
念完之後跟老師簡報跟討論,
看看老師有沒有機會讓你做這個題目囉~
CUDA 不用太深的學術底子,效果又明顯,應該蠻有機會的啦~
--
To iterate is human, to recurse, divine.
遞迴只應天上有, 凡人該當用迴圈. L. Peter Deutsch
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.109.243
※ 編輯: yoco315 來自: 118.160.109.243 (04/24 02:58)
推
04/24 04:21, , 1F
04/24 04:21, 1F
→
04/24 04:21, , 2F
04/24 04:21, 2F
→
04/24 04:22, , 3F
04/24 04:22, 3F
→
04/24 04:22, , 4F
04/24 04:22, 4F
→
04/24 04:34, , 5F
04/24 04:34, 5F
→
04/24 09:57, , 6F
04/24 09:57, 6F
推
04/24 12:05, , 7F
04/24 12:05, 7F
→
04/24 12:07, , 8F
04/24 12:07, 8F
→
04/24 12:07, , 9F
04/24 12:07, 9F
推
04/24 14:31, , 10F
04/24 14:31, 10F
→
04/24 14:31, , 11F
04/24 14:31, 11F
→
04/24 14:31, , 12F
04/24 14:31, 12F
→
04/24 14:31, , 13F
04/24 14:31, 13F
→
04/24 14:31, , 14F
04/24 14:31, 14F
→
04/24 14:32, , 15F
04/24 14:32, 15F
→
04/24 16:41, , 16F
04/24 16:41, 16F
→
04/24 16:42, , 17F
04/24 16:42, 17F
→
04/24 16:42, , 18F
04/24 16:42, 18F
→
04/24 16:55, , 19F
04/24 16:55, 19F
→
04/24 16:56, , 20F
04/24 16:56, 20F
→
04/24 16:56, , 21F
04/24 16:56, 21F
→
04/24 16:56, , 22F
04/24 16:56, 22F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 2 之 6 篇):