看板 C_and_CPP 關於我們 聯絡資訊
開發平台(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
hn12404988: 我之前也思考過類似的問題,我在猜他所指的真正併發 06/20 16:27
hn12404988: 是指(一次同時觸發」的意思,因為很多時候的併發是 06/20 16:29
hn12404988: 是接二連三出去平行執行,並不是真正的同時觸發 06/20 16:30
那想問一下 假設有兩個kernel 程式有使用stream 在執行時 會兩個一起? 或是先分配一個 等到快結束有空閒的SM時再把另一個kernel分配進去? 還蠻好奇這部分的 不知您知不知道?
jun0325: stream是一個software queue的概念 如果你把兩個kernel b 06/20 19:58
jun0325: ound在同一個stream 那就會sequential執行 如果在不同str 06/20 19:58
jun0325: eam就會用spatial的方式來將兩個kernel 綁到SM上 06/20 19:58
jun0325: 建議直接爬gpu-sim怎麼運作的會更清楚 06/20 20:28
恩恩 stream的運作有跑過幾個例子 大概已經瞭解了 模擬器部分還在trace 謝謝回覆
hn12404988: 你可能沒抓到我的意思,執行時期當然是同時執行 06/20 20:42
hn12404988: 我剛指的是(發射時期),一般人是不需要去要求到 06/20 20:43
hn12404988: (同時發射),只需要接二連三發射就可以,差別很小 06/20 20:44
hn12404988: 我在猜他所指的(real)是這個意思吧 06/20 20:45
hn12404988: 我也有在看官方文件,我有印象看到這段 06/20 20:47
OK 懂你的意思了 謝謝回覆 我再多跑幾個範例試試 ※ 編輯: v00623 (114.43.110.210), 06/20/2017 21:54:32