Re: [問題] 非常物件的C++程式碼要用CUDA加速....!?

看板C_and_CPP作者 (tk)時間14年前 (2011/04/24 12:16), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/6 (看更多)
: 推 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 上一篇其實說得很明白了 只是感覺你還是不懂 在我看來能不能加速容不容易加速有差很大嗎... 你說你懂前者 但是確不懂後者 這讓我疑惑萬分呀... CUDA在做的是 Data-parallel 資料上相依度越高 就越不適合做平行處理 也就是拿去CUDA做不容易有加速的效果 相反的 如果適合做平行處理 就容易有加速的效果呀~~ 當然 這是從理論上來說的 實際上還是要看你是如何進行實作的 畢竟設備跟你的coding對結果的影響很大 =========================================== 至於看你一直提問說 不支援C++的話會不會影響速度 答案是 當然會啦 但是這應該不是什麼問題啦.... 因為你現在要面對的問題不應該是這個.. 因為你可以用其它方式來達到同樣的效果 頂多多花一點時間 就像假如不能用memset來對array做歸0的動作 你也可以蠢一點用for迴圈來執行 或是如果不支援assert的話 你就用if else來寫也可以呀 這種問題我覺得是等你程式寫出來了 在對其做優化時再考慮就好 況且.... 你現在手邊的程式碼會有這些問題嗎? 你有先找出可能發生問題的地方嗎? =======================下面是建議========================== 你現在應該要做的是 搞清楚演算法的整體流程 並分析其是否有機會平行處理 而不是在那邊探討C++能不能撰寫CUDA這種問題 因為我總覺得...這問題好像在說 如果不能用C++寫我就不要做的意思 最後 程式碼如果無法自己從無生有 那你就適著熟悉它吧 你可以分為幾個步驟做 1. 將所有的function間的關聯列出來 2. 搞清處每一個function會動用到那些參數和空間 3. 畫出程式的流程圖 藉由上述步驟讓自己可以先專注在某一個部份上面開始實作 因為當你知道這個部份需要到哪些空間時 就可以在cuda上同樣宣告這些東西 另外你可以先把程式碼全部改寫成自己習慣的樣子 或者把全部改寫成C 這樣也就不會有你一開始在那邊問C++到底能不能寫CUDA的問題了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.80.86

04/24 14:35, , 1F
瞭解,我看我的cuda功力還太淺...感恩
04/24 14:35, 1F
文章代碼(AID): #1DiwGeWi (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1DiwGeWi (C_and_CPP)