评价此页

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 设置。