Re: [問題] CUDA 觀念及 矩陣相乘程式問題

看板C_and_CPP (C/C++)作者 (一個人寂寞 兩個人麻煩)時間13年前 (2012/07/26 16:48), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串5/6 (看更多)
※ 引述《ofd168 (大色狼來襲)》之銘言: : 書上是說 : cudaThreadSynchronize() 是用來 實現GPU和CPU的同步,利用此函式可以確認 : 所有的裝置端執行緒已運行結束 : 這是啥意思? 這不是意思是 會等CUDA的kernel執行完? : 以及cudaStreamSynchronize()和cudaEventSynchronize() : 這3個函數的作用和之間的差別是啥呢 : 這三個都有看過有人用 除了知道是同步用 但會拖累效能以外 真的不是很懂 : : 這個我也不知道 QQ : 這書上忽然拿出來用 後面又不用 搞不是很懂Orz 你的需求應該是利用 A) CUDA 3.0- (應該是沒記錯) 1. cudaMemcpy2DAsync() 2. do something on CPU to waiting that 3. cudaThreadSynchronize(); B) 既然你提到 Stream 利用 Stream 管理順序,可以把 Stream 想成 Queue memcpy, kernel 想成 commands to graphics card. Event的部分 我沒有實際用過,我大致看了一下 應該是像 OS中 lock/release signal 之類的東西。 至於 Warp, block, grid 的部分 你應該這麼想 Warp 是因為 nvidia的 implementation 才出現的 block/grid 是 CUDA語言的規範出現的 SP/SM 這部分 基本上不太會影響你寫的code 在座optimize的時候 才會開始考慮, 但是 access pattern 引想應該會比這個更優先處理! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.78.119 ※ 編輯: LouisXIV 來自: 140.114.78.119 (07/26 16:52)

07/26 19:00, , 1F
推真的高手出現了!!
07/26 19:00, 1F

07/26 19:50, , 2F
謝謝!!
07/26 19:50, 2F
文章代碼(AID): #1G4GHTkD (C_and_CPP)
文章代碼(AID): #1G4GHTkD (C_and_CPP)