看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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)
tedd15550325:嗯,能不能加速我懂,我想我可能用詞不好,應該要說 04/24 04:21
tedd15550325:是容不容易加速?因為CUDA並沒有支援C++所有的部分, 04/24 04:21
tedd15550325:我在想會不會有可能因此只要牽涉到沒有支援到的部分 04/24 04:22
tedd15550325:的程式,是否就幾乎沒有加速或著根本無法撰寫CUDA? 04/24 04:22
tedd15550325:另外,程式碼要是我自己能寫得出來也不會拿google了. 04/24 04:34
yoco315:你是不是以為改程式碼比寫程式碼簡單? 04/24 09:57
littleshan:你要重寫,而且要重寫的原因與C++無關 04/24 12:05
littleshan:有時候覺得CUDA這種based on C/C++的架構害慘了人 04/24 12:07
littleshan:讓人以為自己的C/C++只要小幅修改就能獲得十倍的效率 04/24 12:07
tedd15550325:我剛接觸cuda不久,可能問題有點蠢,不過真的是被逼 04/24 14:31
tedd15550325:急了,因為專題投稿日期只剩半個月了,我只是想知道 04/24 14:31
tedd15550325:自己有沒有走錯路,我當然也知道改程式碼非常困難, 04/24 14:31
tedd15550325:更何況我手上的code有三千多行...總之,謝謝大家的 04/24 14:31
tedd15550325:指教,我會繼續努力!! 04/24 14:31
tedd15550325:話說都沒有一個人回答我第一個問題ㄒ_ㄒ? 04/24 14:32
yoco315:因為第一個問題太簡單,你會問代表你連基礎C++都不會 @@ 04/24 16:41
yoco315:良心建議你放棄這個題目,挑一些不需要coding的題目. 04/24 16:42
yoco315:因為CUDA是coding吃重的東西,但是你的coding能力明顯不足 04/24 16:42
tedd15550325:在java裡面是用get method和set method來讓private 04/24 16:55
tedd15550325:member與外界溝通,我想C++大概也類似吧?不過這個辦 04/24 16:56
tedd15550325:法似乎不太切實際,因為變數實在太多了,這是我目前 04/24 16:56
tedd15550325:唯一想到的辦法,不知yoco大大能否替我指點迷津?感謝 04/24 16:56