看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) CUDA 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) None 問題(Question): 我的CUDA程式在 Linux 工作站可以跑 但是在 Win 7 VS 2013 就掛了 不是直接掛 是跑到一到才會當 程式碼如下: http://pastie.org/9786894#63 (有用到 Unified Memory, CUDA Capability 3.0 以上才能跑) (Compile 參數 sm_30) 一個簡單程式的模擬 Virtual Memory 開 Nsight Debug 發現死在 paging 的 for 迴圈裡面 試過把 PAGE_ENTRIES 改小一點 例如手動設 search range = 0~3 (原本塞滿應該是 0~1023) 程式就會 work 了 (雖然這樣改 replacement 方式是不對的) 餵入的資料(Input): data.bin 預期的正確結果(Expected Output): 正常 run, 不會直接當掉 錯誤結果(Wrong Output): load_binaryFile 之後進入 kernel function 整個畫面就卡住 然後driver顯示錯誤 直接跳出來 程式碼(Code):(請善用置底文網頁, 記得排版) http://pastie.org/9786894#63 補充說明(Supplement): 新手上路 為了跑 CUDA 才剛換一張 GTX 750 跪求高手解答 QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.129.202 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1418846556.A.46F.html
Lepton: 原PO該不會是修114的OS吧!這格式好熟悉 12/18 17:37
Lepton: 幫你解答這是windows的問題只要cuda kernel執行超過2秒 12/18 17:39
Lepton: windows發現顯示卡沒有回應會重新reset顯示卡 12/18 17:40
Lepton: 可以去nsight那邊把參數修掉,但是後遺症是你程式執行時 12/18 17:44
Lepton: 整個畫面全部會凍結直到他跑完,感覺就像當機一樣 12/18 17:45
Lepton: 所以跑程式的那1分鐘什麼事情都不能做,還是在工作站跑吧 12/18 17:45
kiedveian: 可以改成別的秒數 12/18 18:50
沒錯 我正在修OS 被發現了 XD 想說 CUDA 好像很有用 就自己裝來玩一下 非常感謝解答 !! 後來改 Windows TDR參數 就解決了 詳細流程如下: http://stackoverflow.com/questions/17186638/ modifying-registry-to-increase-gpu-timeout-windows-7 想再請問 CUDA 為什麼沒辦法多工 同時跑程式以及系統呢 ? 還是需要什麼高階技巧 ? 不然我跑個 CUDA 轉檔還是遊戲 整個系統也不會因此而卡住呀 ※ 編輯: cory8249 (114.37.129.202), 12/18/2014 21:47:27
Lepton: 首先主機板要有內顯,BIOS設定內顯輸出螢幕 12/19 00:22
Lepton: 然後顯示卡就是一張加速卡,只負責計算的工作 12/19 00:22
Lepton: 顯示卡不設定影像輸出,windows就不會看顯示卡還活著嗎 12/19 00:24
恩恩 有想過這個方法 不過本身問題是還是在於 kernel function 跑太久 對於一般單GPU環境來說 問題還是存在 有比較好的治本之道 ? 例如改 kernel function 架構 拆成幾個比較小的部分 再由 main function 分別去 call ? ※ 編輯: cory8249 (114.37.129.202), 12/19/2014 00:42:49
Lepton: 因為GPU本來就不是這樣用的,所以跑起來當然慢啊 12/19 01:10
Lepton: 把shared memory拿掉,用CPU跑就知道差別了 12/19 01:11