從頭開始進行CUDA編程:流和事件

流 (Streams)

當我們啓動內核(函數)時,它會在 GPU 中排隊等待執行,GPU 會順序按照啓動時間執行我們的內核。設備中啓動的許多任務可能依賴於之前的任務,所以“將它們放在同一個隊列中”是有道理的。例如,如果將數據異步複製到 GPU 以使用某個內核處理它,則複製的步驟本必須在內核運行之前完成。

但是如果有兩個相互獨立的內核,將它們放在同一個隊列中有意義嗎?不一定!因爲對於這種情況,CUDA通過流的機制來進行處理。我們可以將流視爲獨立的隊列,它們彼此獨立運行,也可以同時運行。這樣在運行許多獨立任務時,這可以大大加快總運行時間。

 

完整文章:

https://avoid.overfit.cn/post/fd3454303b9b4a7e8a2898b7d24b41ec

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章