[問題] CUDA效能問題

看板C_and_CPP (C/C++)作者 (宇宙學型男)時間5年前 (2019/11/13 12:06), 5年前編輯推噓1(100)
留言1則, 1人參與, 5年前最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) Win10 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) Visual Studio C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) SFML + CUDA 問題(Question): 大家好 最近在做一些Ray Tracing的東西 本來單純用CPU算 感覺太慢後來改試試看用Compute Shader 最近用CUDA試試看 目標是想做一個跟這個差不多的東西 https://www.youtube.com/watch?v=7gVQd4V-Q7o
他的顯卡是nVidia Geforce GTX 1080 Ti (EVGA FTW3) 然後這是我自己用compute shader的範例 目前這樣的FPS可接受 https://www.youtube.com/watch?v=jKEzMcknGnk&feature=youtu.be
(如果給他渲染一分鐘以上會變超真實) 但是後來因為compute shader寫起來維護很困難 沒有物件導向的一些特性 只好轉用看看CUDA 自己有抓了nVidia的官方範例照著做 (目前做到第九章 不確定該不該繼續下去) https://devblogs.nvidia.com/accelerated-ray-tracing-cuda/ 作者有提到最後他自己渲染一個frame大概要花7秒鐘 我自己不知道到底哪邊是不是優化沒做好 還是硬體就是差人一大截 FPS跟別人的都差非常多 目前只有這樣 https://imgur.com/oQB3RET
是800*800 pixels 每個pixel畫50次後取平均 FPS大約只有2左右 平均一個Frame要花0.6s左右 電腦配備大概是筆電MSI GS63VR(2016) 顯卡是GTX1060 基本上我是照著上面連結範例做的 不知道是否有哪些新手常犯的錯誤讓我速度變這麼慢? 想請問這樣是硬體問題還是我哪邊優化沒做好? 我有試著找出到底哪邊有問題 cudaDeviceSynchronize這個function可能會等待GPU算好後再繼續CPU的工作 好像把它關掉也可以 但是跑久了好像也會怪怪的 另外自己有下載這個人的可執行檔 https://www.youtube.com/watch?v=m5EDorhuFuo
跑起來也有300fps左右 就是自己做的就變超爛 不知道有沒有辦法隔空抓藥一下?還是純粹就筆電跟顯卡不夠力? 資料不確定足不足 如果需要我補充的請讓我知道 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 71.197.179.224 (美國) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1573617973.A.BF2.html ※ 編輯: Cosmology (71.197.179.224 美國), 11/13/2019 12:07:40

11/13 15:01, 5年前 , 1F
用nvvp確認效能卡在哪裡如何
11/13 15:01, 1F
文章代碼(AID): #1Tou4rlo (C_and_CPP)
文章代碼(AID): #1Tou4rlo (C_and_CPP)