torch.cuda¶
這個套件新增了對 CUDA 張量類型的支援。
它實現了與 CPU 張量相同的功能,但它們利用 GPU 進行計算。
它是延遲初始化的,因此您可以隨時匯入它,並使用 is_available()
來判斷您的系統是否支援 CUDA。
CUDA 語意 提供了更多關於使用 CUDA 的細節。
選擇給定 stream 的 context-manager。 |
|
檢查兩個裝置之間是否可以進行 peer access。 |
|
回傳指向目前 cuBLAS handle 的 cublasHandle_t 指標 |
|
回傳目前所選裝置的索引。 |
|
回傳給定裝置目前所選的 |
|
檢索 CUDA runtime API 模組。 |
|
回傳給定裝置的預設 |
|
變更所選裝置的 context-manager。 |
|
回傳可用的 GPU 數量。 |
|
以位元組為單位回傳 nvidia-smi 或 amd-smi 所提供的已使用全域(裝置)記憶體。 |
|
將目前裝置變更為給定物件的裝置的 context-manager。 |
|
回傳此程式庫編譯時所針對的 CUDA 架構列表。 |
|
取得裝置的 CUDA 功能。 |
|
取得裝置的名稱。 |
|
取得裝置的屬性。 |
|
回傳此程式庫編譯時所使用的 NVCC gencode 標誌。 |
|
回傳 CUDA 同步操作的除錯模式的目前值。 |
|
初始化 PyTorch 的 CUDA 狀態。 |
|
強制回收 CUDA IPC 釋放後的 GPU 記憶體。 |
|
回傳一個布林值,指示目前 CUDA 是否可用。 |
|
回傳 PyTorch 的 CUDA 狀態是否已初始化。 |
|
回傳在過去的取樣期間內,全域(裝置)記憶體正在讀取或寫入的時間百分比,由 nvidia-smi 提供。 |
|
設定目前的裝置。 |
|
設定目前的 stream。這是一個用於設定 stream 的包裝 API。 |
|
設定 CUDA 同步操作的除錯模式。 |
|
包裝選擇給定 stream 的 Context-manager StreamContext。 |
|
等待 CUDA 裝置上所有 stream 中的所有核心完成。 |
|
回傳在過去的取樣期間內,一個或多個核心正在 GPU 上執行的時間百分比,由 nvidia-smi 提供。 |
|
回傳 GPU 感測器的平均溫度,單位為攝氏度(Centigrades)。 |
|
回傳 GPU 感測器的平均功耗,單位為 mW (MilliWatts)。 |
|
回傳在過去的取樣期間內,GPU SM 的時脈速度,單位為赫茲 (Hz),由 nvidia-smi 提供。 |
|
當裝置記憶體不足時引發的例外。 |
隨機數產生器¶
以 ByteTensor 的形式回傳指定 GPU 的隨機數產生器狀態。 |
|
回傳一個 ByteTensor 列表,表示所有裝置的隨機數狀態。 |
|
設定指定 GPU 的隨機數產生器狀態。 |
|
設定所有裝置的隨機數產生器狀態。 |
|
為目前 GPU 設定產生隨機數的種子。 |
|
為所有 GPU 設定產生隨機數的種子。 |
|
將產生隨機數的種子設定為目前 GPU 的隨機數。 |
|
將產生隨機數的種子設定為所有 GPU 的隨機數。 |
|
回傳目前 GPU 的目前隨機種子。 |
通訊集合¶
將張量廣播到指定的 GPU 裝置。 |
|
將一系列張量廣播到指定的 GPU。 |
|
將來自多個 GPU 的張量相加。 |
|
將張量分散到多個 GPU 上。 |
|
從多個 GPU 裝置收集張量。 |
Streams 和 Events¶
CUDA stream 的包裝。 |
|
外部配置的 CUDA stream 的包裝。 |
|
CUDA event 的包裝。 |
Graphs (beta)¶
如果目前 CUDA stream 上正在進行 CUDA graph 擷取,則回傳 True,否則回傳 False。 |
|
回傳表示 graph 記憶體池 ID 的不透明權杖。 |
|
CUDA graph 的包裝。 |
|
Context-manager,將 CUDA 工作擷取到 |
|
接受可呼叫物件(函數或 |
記憶體管理¶
釋放快取分配器目前持有的所有未佔用快取記憶體,以便這些記憶體可以在其他 GPU 應用程式中使用,並在 nvidia-smi 中可見。 |
|
取得程序的記憶體比例。 |
|
回傳給定裝置的執行程序及其 GPU 記憶體使用情況的人類可讀列印輸出。 |
|
使用 cudaMemGetInfo 回傳給定裝置的全域可用和總 GPU 記憶體。 |
|
回傳給定裝置的 CUDA 記憶體分配器統計資訊字典。 |
|
回傳給定裝置的目前記憶體分配器統計資訊的人類可讀列印輸出。 |
|
回傳所有裝置的 CUDA 記憶體分配器狀態的快照。 |
|
回傳給定裝置的張量目前佔用的 GPU 記憶體(以位元組為單位)。 |
|
回傳給定裝置的張量佔用的最大 GPU 記憶體(以位元組為單位)。 |
|
重置追蹤給定裝置的張量佔用的最大 GPU 記憶體的起點。 |
|
回傳給定裝置的快取分配器管理的目前 GPU 記憶體(以位元組為單位)。 |
|
傳回指定裝置的快取配置器所管理的 GPU 最大記憶體(以位元組為單位)。 |
|
設定程序的記憶體比例。 |
|
已棄用;請參閱 |
|
已棄用;請參閱 |
|
重置追蹤指定裝置的快取配置器所管理的最大 GPU 記憶體的起點。 |
|
重置 CUDA 記憶體配置器追蹤的「峰值」統計資訊。 |
|
使用 CUDA 記憶體配置器執行記憶體配置。 |
|
刪除使用 CUDA 記憶體配置器配置的記憶體。 |
|
傳回描述由 |
|
從 so 檔案載入的 CUDA 記憶體配置器。 |
|
將目前使用的記憶體配置器更改為提供的配置器。 |
|
MemPool 代表快取配置器中的記憶體池。 |
|
MemPoolContext 儲存目前活動的池並隱藏先前的池。 |
啟用或停用 CUDA 記憶體配置器。 |
- class torch.cuda.use_mem_pool(pool, device=None)[source][source]¶
一個上下文管理器,將分配導向到給定的池。
- 參數
pool (torch.cuda.MemPool) – 要啟用的 MemPool 物件,以便將分配導向到此池。
device (torch.device or int, optional) – 選定的裝置。如果
device
是None
(預設),則使用current_device()
給定的目前裝置上的 MemPool。
NVIDIA 工具擴展 (NVTX)¶
描述在某個點發生的瞬時事件。 |
|
將一個範圍推送到嵌套範圍跨度的堆疊上。 |
|
從嵌套範圍跨度的堆疊中彈出一個範圍。 |
|
上下文管理器/裝飾器,在範圍開始時推入一個 NVTX 範圍,並在結束時彈出它。 |
Jiterator(測試版)¶
為 elementwise 運算建立 jiterator 產生的 cuda 核心。 |
|
為 elementwise 運算建立 jiterator 產生的 cuda 核心,該核心支援傳回一個或多個輸出。 |