評價此頁

CUDA 環境變數#

建立日期:2024年2月15日 | 最後更新日期:2024年2月15日

有關 CUDA 執行時環境變數的更多資訊,請參閱 CUDA Environment Variables

PyTorch 環境變數

變數

描述

PYTORCH_NO_CUDA_MEMORY_CACHING

如果設定為 1,將停用 CUDA 中記憶體分配的快取。這有助於除錯。

PYTORCH_CUDA_ALLOC_CONF

有關此環境變數的更深入解釋,請參閱 記憶體管理

PYTORCH_NVML_BASED_CUDA_CHECK

如果設定為 1,在匯入檢查 CUDA 是否可用的 PyTorch 模組之前,PyTorch 將使用 NVML 來檢查 CUDA 驅動程式是否正常工作,而不是使用 CUDA 執行時。這對於因 CUDA 初始化錯誤而失敗的派生程序可能很有幫助。

TORCH_CUDNN_V8_API_LRU_CACHE_LIMIT

cuDNN v8 API 的快取限制。用於限制 cuDNN v8 API 使用的記憶體。預設值為 10000,假設每個 ExecutionPlan 佔用 200KiB,這大致相當於 2GiB。設定為 0 表示無限制,設定為負值表示不快取。

TORCH_CUDNN_V8_API_DISABLED

如果設定為 1,將停用 cuDNN v8 API。並將回退到 cuDNN v7 API。

TORCH_ALLOW_TF32_CUBLAS_OVERRIDE

如果設定為 1,將強制啟用 TF32,並覆蓋 set_float32_matmul_precision 設定。

TORCH_NCCL_USE_COMM_NONBLOCKING

如果設定為 1,將啟用 NCCL 中的非阻塞錯誤處理。

TORCH_NCCL_AVOID_RECORD_STREAMS

如果設定為 0,將啟用 NCCL 中回退到基於 record streams 的同步行為。

TORCH_CUDNN_V8_API_DEBUG

如果設定為 1,將進行健全性檢查以確定 cuDNN V8 是否正在使用。

CUDA 執行時和庫環境變數

變數

描述

CUDA_VISIBLE_DEVICES

應提供給 CUDA 執行時的 GPU 裝置 ID 的逗號分隔列表。如果設定為 -1,則不提供任何 GPU。

CUDA_LAUNCH_BLOCKING

如果設定為 1,將使 CUDA 呼叫同步。這有助於除錯。

CUBLAS_WORKSPACE_CONFIG

此環境變數用於為每次 cuBLAS 分配設定工作區配置。格式為 :[SIZE]:[COUNT]。例如,預設的每次分配的工作區大小為 CUBLAS_WORKSPACE_CONFIG=:4096:2:16:8,它指定總大小為 2 * 4096 + 8 * 16 KiB。要強制 cuBLAS 避免使用工作區,請將 CUBLAS_WORKSPACE_CONFIG=:0:0

CUDNN_CONV_WSCAP_DBG

CUBLAS_WORKSPACE_CONFIG 類似,此環境變數用於為每次 cuDNN 分配設定工作區配置。

CUBLASLT_WORKSPACE_SIZE

CUBLAS_WORKSPACE_CONFIG 類似,此環境變數用於為 cuBLASLT 設定工作區大小。

CUDNN_ERRATA_JSON_FILE

可以設定為一個檔案路徑,用於傳遞給 cuDNN 的 errata 過濾器,以避免特定的引擎配置,主要用於除錯或硬編碼自動調優。

NVIDIA_TF32_OVERRIDE

如果設定為 0,將全域性停用所有核心的 TF32,覆蓋所有 PyTorch 設定。