[問題] CUDA Stream, Hyper-Q方法

看板C_and_CPP作者 (阿哩他命EX PLUS)時間7年前 (2017/06/20 15:07), 7年前編輯推噓4(408)
留言12則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) Linux GPGPU-Sim CUDA 問題(Question): 最近在練習stream時看到一個Hyper-Q的東西 官方文件說這個可以讓不同stream中的kernel達到真正的concurrent execution 而這功能是在kepler架構之後才有的 我的問題是在fermi架構下 使用stream的語法不也可以同時把多個kernel放到GPU跑嗎 請問我的理解有錯嗎? 還請各位前輩指導 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.118.155.192 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1497942479.A.D63.html

06/20 16:27, , 1F
我之前也思考過類似的問題,我在猜他所指的真正併發
06/20 16:27, 1F

06/20 16:29, , 2F
是指(一次同時觸發」的意思,因為很多時候的併發是
06/20 16:29, 2F

06/20 16:30, , 3F
是接二連三出去平行執行,並不是真正的同時觸發
06/20 16:30, 3F
那想問一下 假設有兩個kernel 程式有使用stream 在執行時 會兩個一起? 或是先分配一個 等到快結束有空閒的SM時再把另一個kernel分配進去? 還蠻好奇這部分的 不知您知不知道?

06/20 19:58, , 4F
stream是一個software queue的概念 如果你把兩個kernel b
06/20 19:58, 4F

06/20 19:58, , 5F
ound在同一個stream 那就會sequential執行 如果在不同str
06/20 19:58, 5F

06/20 19:58, , 6F
eam就會用spatial的方式來將兩個kernel 綁到SM上
06/20 19:58, 6F

06/20 20:28, , 7F
建議直接爬gpu-sim怎麼運作的會更清楚
06/20 20:28, 7F
恩恩 stream的運作有跑過幾個例子 大概已經瞭解了 模擬器部分還在trace 謝謝回覆

06/20 20:42, , 8F
你可能沒抓到我的意思,執行時期當然是同時執行
06/20 20:42, 8F

06/20 20:43, , 9F
我剛指的是(發射時期),一般人是不需要去要求到
06/20 20:43, 9F

06/20 20:44, , 10F
(同時發射),只需要接二連三發射就可以,差別很小
06/20 20:44, 10F

06/20 20:45, , 11F
我在猜他所指的(real)是這個意思吧
06/20 20:45, 11F

06/20 20:47, , 12F
我也有在看官方文件,我有印象看到這段
06/20 20:47, 12F
OK 懂你的意思了 謝謝回覆 我再多跑幾個範例試試 ※ 編輯: v00623 (114.43.110.210), 06/20/2017 21:54:32
文章代碼(AID): #1PICdFrZ (C_and_CPP)