簡體   English   中英

CUDA里面有kernel隊列啟用GPU嗎?

[英]Is there a kernel queue inside CUDA enabled GPU?

當多個 PyTorch 進程在同一個 Nvidia GPU 上運行推理時。我想知道當來自不同上下文的兩個 kernel 請求(cuLaunchKernel)由 CUDA 處理時會發生什么? CUDA GPU 可以為那些 kernel 請求創建 FIFO 隊列嗎?

在運行我的 PyTorch 程序時,我不知道如何測量 CUDA 的 state。 關於在運行多個並發作業時如何分析 Nvidia GPU 的任何建議都是有幫助的!

來自不同上下文的內核永遠不會同時運行。 它們以分時方式運行。 (除非使用 MPS)

在相同的 CUDA 上下文中,在相同的 CUDA 和 stream 上啟動的內核永遠不會同時運行。 相反,它們由啟動順序序列化,GPU 一次執行一個。 所以CUDA stream類似於CUDA上下文中的一個隊列。 在不同的 CUDA 流(在同一上下文中)上啟動的內核有可能同時運行。

Pytorch 默認使用一個 CUDA stream。您可以使用 API 來操作多個流: https://pytorch.org/docs/stable/generated/torch.cuda.88414854228517886.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM