Re: [問題] 同程式 CUDA核心數量與速度問題

看板C_and_CPP (C/C++)作者 (justlikethis)時間11年前 (2014/11/13 15:01), 編輯推噓4(4016)
留言20則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《k387259 (台灣李宏感)》之銘言: : 大家好 : 想請問cuda核心數量與運算處理速度的差異 : 我在網路上有抓到一隻程式 : 目前也感覺他把平行化處理的很好 : 用了兩張卡測試(用CUDA-Z看的) : GTX760 CUDA核心1152 處理速度1084M Hz : Quadro K5000 CUDA核心1536 處理速度740M Hz : 在K5000上"明顯"低於GTX760 : (K5000 FPS:30 GTX760 FPS:60) : 處理速度的差異我知道 : 但想詢問核心數目的差異到底在哪 : 是GPU上運算部分可以平行化處理的東西更多嗎? 是! 就像是可以簡單想成總共有幾個人可以同時幫你做事。 : 但是我用CUDA-Z看thread和grid數量一樣 : 核心多/處理慢 跟 核心少/處理慢 : gpu運算的code內要怎麼處理會比較好呢? CUDA Optimize 考量因素非常多, 在分配 thread block grid 上就必須要去看硬體的規格, 例如thread 要能整除一個 wrap同時執行的核心數(通常是32)、 block要多過那張卡上SM的數量,讓CUDA運算可以滿載。 記憶體的部分也非常重要 GPU上的記憶體,分為Global memory, share memory, register memory 等 (不懂就查) 你怎麼把你的要用的擺在相對應的記憶體區塊, 如果想要更快,可以考慮memory alignment 、memory coalesce 一般而言,你如果能把你要運算的資料一口氣放入share memory裡面, 避免在運算過程中 access global memory 這樣是最完美的。 也可以考慮stream (overlap). 如果不想要那麼麻煩的寫CUDA,也可以看看OpenACC,就像openmp一樣地去加#就行了。 加油! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.240.237.51 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1415862109.A.047.html

11/13 16:52, , 1F
stream的方法和官方文件有用過 memory這塊處理沒什麼問題
11/13 16:52, 1F

11/13 16:52, , 2F
關於卡上面SM的數量指的就是CUDA核心數量還是規格寫的
11/13 16:52, 2F

11/13 16:53, , 3F
block最大數量呢?
11/13 16:53, 3F

11/13 16:55, , 4F
還是你指的是compute capability 3.0之類的東西?
11/13 16:55, 4F

11/13 16:55, , 5F

11/13 16:55, , 6F
上面的哪一項呢? 感謝解答
11/13 16:55, 6F

11/14 15:13, , 7F
11/14 15:13, 7F

11/14 15:14, , 8F
第六頁,kelper共有15個SMX
11/14 15:14, 8F

11/14 20:52, , 9F
是GK110晶片有15個SMX,不是kepler架構都有15個SMX
11/14 20:52, 9F

11/14 20:53, , 10F
所以要去查那個該顯卡晶片有幾個SMX嗎?
11/14 20:53, 10F

11/14 20:54, , 11F
找了一下網頁 都只有表格顯示該顯卡thread數量等數據
11/14 20:54, 11F

11/14 20:56, , 12F
11/14 20:56, 12F

11/14 20:56, , 13F
像該網址提到6 SMX processors應該就是6個沒錯了吧
11/14 20:56, 13F

11/14 20:59, , 14F
15個SMX是前期,GK110到後期才有完整解封印的卡
11/14 20:59, 14F

11/14 21:00, , 15F
CUDA6.5搭配這世代的顯示卡寫程式不用顧慮這麼多
11/14 21:00, 15F

11/14 21:01, , 16F
讀官方手冊放開心去寫就好了,效能都不致於太差
11/14 21:01, 16F

11/14 21:10, , 17F
SM多只是你的卡比較高級裝的下比較多核心跟你怎麼寫無關
11/14 21:10, 17F

11/14 22:13, , 18F
喔喔,感謝!因為研究關係想發揮顯卡最強效能
11/14 22:13, 18F

11/14 22:14, , 19F
恩恩,其實單純寫很容易,我之前笨笨的就只有用一個block
11/14 22:14, 19F

11/14 22:14, , 20F
速度就很慢,之後才知道block要開多一點,讓cuda自己排程
11/14 22:14, 20F
文章代碼(AID): #1KP5TT17 (C_and_CPP)
文章代碼(AID): #1KP5TT17 (C_and_CPP)