[問題] CUDA效能問題

作者: Cosmology (宇宙學型男)   2019-11-13 12:06:11
開發平台(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左右
就是自己做的就變超爛
不知道有沒有辦法隔空抓藥一下?還是純粹就筆電跟顯卡不夠力?
資料不確定足不足 如果需要我補充的請讓我知道 謝謝
作者: clh960524 (CLH)   2019-11-13 15:01:00
用nvvp確認效能卡在哪裡如何

Links booklink

Contact Us: admin [ a t ] ucptt.com