[情報] CUDA書籍(日文)

看板VideoCard作者 (複甦哩)時間14年前 (2010/01/18 01:28), 編輯推噓1(105)
留言6則, 1人參與, 最新討論串1/1
※ [本文轉錄自 C_and_CPP 看板] 作者: RisingForce (複甦哩) 看板: C_and_CPP 標題: [情報] CUDA書籍(日文) 時間: Mon Jan 18 01:24:15 2010 http://www.kohgakusha.co.jp/books/detail/978-4-7775-1477-9 這本書不錯 講的很詳細 給的例子清楚,明了 (小弟是完全看不懂日文者,只能從example與漢字去猜其意思) 這本書的example code可在這下載 http://www.kohgakusha.co.jp/support/cuda/index.html 簡單介紹下例子: sample 1: 用CUDA實現矩陣加法 (蠻樣板的 沒什麼好看) sample 2: 古典粒子括散問題,粒子的速度場只與其座標有關 (v(x,y)) (有一階與三階計算兩個function包在其中) sample 3: 同sample 2,但不同的potential. sample 4: 2D(溫度)括散問題,沒有任何優化過的CUDA平行算法。 sample 5: 同sample 4,但使用到shared memory 這技巧。 sample 6: 同 sample 5,討論到shared memory不夠時(>16kb),該如何應變。 sample 7: 同 sample 6,討論如何(在同一個block)直接轉換變數,讓程式 近一步加快(高端技巧,在下看不太懂)。 基本上 sample 5 6 7 8是完全一樣(function全都存在,就叫cuda_diffusion2d_0 cuda_diffusion2d_1 ..etc),只是真的被呼叫者不同 (blockDim_x 與blockDim_y 不太一樣)。 這幾個code讓我最感到amazing的,是輸出結果並不是txt需另找別的 軟體繪圖,而是輸出直接就是圖檔。 (作者自己寫了bmp_r8 與 DFR8bmp這兩個function,讓輸出結果就是bmp檔) 光是直接繪成圖這點就非常值得去下載他的code。(用了<limit.h>這 header, 在下搞不清處這是什麼) 在此提供給CUDA的初學者參考。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.206.101 ※ 編輯: RisingForce 來自: 219.70.206.101 (01/18 01:25) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.206.101

01/21 14:32, , 1F
最近正在研究,想知道他有什麼技巧,謝謝分享。
01/21 14:32, 1F

01/26 13:41, , 2F
sample6看起來是為了減少當處理左右boundary而造成的
01/26 13:41, 2F

01/26 13:43, , 3F
non-coalescing的memory access。原本每個block是16*16,
01/26 13:43, 3F

01/26 13:44, , 4F
後來改成256*1,則non-coalescing的次數就會由16*2次變成
01/26 13:44, 4F

01/26 13:45, , 5F
1*2次,而且這個程式預設的NX是256,所以連1次都沒有
01/26 13:45, 5F

01/26 14:07, , 6F
而且sample6使用的shared memory是sample5的近3倍的量。
01/26 14:07, 6F
文章代碼(AID): #1BKqYnvc (VideoCard)