CUDA编程:CUDA环境变量 CUDA Environment Variables
变量 | 值 | 描述 |
---|---|---|
设备枚举与属性 | ||
CUDA_VISIBLE_DEVICES | MIG支持的GPU标识符的逗号分隔序列:MIG-/<GPU实例ID>/<计算实例ID> | GPU标识符以整数索引或UUID字符串的形式给出。GPU UUID字符串应遵循nvidia-smi给出的相同格式,例如GPU-8932f937-d72c-4106-c12f-20bd9faed9f6。 |
CUDA_MANAGED_FORCE_DEVICE_ALLOC | 0 或 1(默认值为 0) | 强制驱动程序将所有托管分配放置在设备内存中。 |
CUDA_DEVICE_ORDER | FASTEST_FIRST, PCI_BUS_ID,(默认值为 FASTEST_FIRST) | FASTEST_FIRST 会使 CUDA 使用简单的启发式方法,按照从快到慢的顺序枚举可用的设备。PCI_BUS_ID 则根据 PCI 总线 ID 对设备进行排序。 |
编译 | ||
CUDA_CACHE_DISABLE | 0 或 1(默认值为 0) | 禁用(当设置为 1 时)或启用(当设置为 0 时)即时编译的缓存。当禁用时,不会向缓存中添加或从缓存中检索二进制代码。 |
CUDA_CACHE_PATH | 文件路径 | 指定即时编译器缓存二进制代码的文件夹;默认值如下: 在 Windows 上:%APPDATA%\NVIDIA\ComputeCache 在 Linux 上:~/.nv/ComputeCache |
CUDA_CACHE_MAXSIZE | 整数(对于桌面/服务器平台,默认值为1 GiB,对于嵌入式平台,默认值为 256 MiB,最大值为 4 GiB) | 指定即时编译器使用的缓存大小(以字节为单位)。 |
CUDA_FORCE_PTX_JIT | 0 或 1(默认值为 0) | 当设置为 1 时,强制设备驱动程序忽略应用程序中嵌入的任何二进制代码,并仅即时编译嵌入的 PTX 代码。 |
CUDA_DISABLE_PTX_JIT | 0 或 1(默认值为 0) | 当设置为 1 时,禁用嵌入的 PTX 代码的即时编译,并使用应用程序中嵌入的兼容二进制代码 |
CUDA_FORCE_JIT | 0 或 1(默认值为 0) | 当设置为 1 时,强制设备驱动程序忽略应用程序中嵌入的任何二进制代码,并始终使用即时编译来生成二进制代码。 |
CUDA_DISABLE_JIT | 0 或 1(默认值为 0) | 当设置为 1 时,禁用嵌入的 PTX 代码的即时编译,并使用应用程序中嵌入的兼容二进制代码 |
执行 | ||
CUDA_LAUNCH_BLOCKING | 0 或 1(默认值为 0) | 禁用(设置为 1 时)或启用(设置为 0 时)异步内核启动。 |
CUDA_DEVICE_MAX_CONNECTIONS | 1 到 32(默认值为 8) | 设置从主机到每个计算能力为 3.5 及以上的设备的计算和复制引擎并发连接(工作队列)的数量。 |
CUDA_AUTO_BOOST | 0 或 1 | 覆盖 nvidia-smi 的 --auto-boost-default 选项设置的自动增强行为。 |
cuda-gdb (on Linux platform) | ||
CUDA_DEVICE_WAITS_ON_EXCEPTION | 0 或 1(默认值为 0) | 当设置为 1 时,如果发生设备异常,CUDA 应用程序将停止,允许附加调试器进行进一步调试。 |
MPS service (on Linux platform) | ||
CUDA_DEVICE_DEFAULT_PERSISTING_L2_CACHE_PERCENTAGE_LIMIT | 百分比值(介于 0 - 100 之间,默认值为 0) | 计算能力为 8.x 的设备允许将 L2 缓存的一部分设置为持久化全局内存数据访问。 |
模块加载 | ||
CUDA_MODULE_LOADING | DEFAULT, LAZY, EAGER(默认值为 LAZY) | 指定应用程序的模块加载模式。 |
CUDA_MODULE_DATA_LOADING | DEFAULT, LAZY, EAGER(默认值为 LAZY) | 指定应用程序的数据加载模式。. |
预加载依赖库 | ||
CUDA_FORCE_PRELOAD_LIBRARIES | 0 或 1(默认值为 0) | 当设置为 1 时,强制驱动程序在初始化期间预加载 NVVM 和 PTX 即时编译所需的库。 |
CUDA Graphs | ||
CUDA_GRAPHS_USE_NODE_PRIORITY | 0 或 1 | 在图形实例化时覆盖 cudaGraphInstantiateFlagUseNodePriority 标志。当设置为 1 时,该标志将为所有图形设置,当设置为 0 时,该标志将为所有图形清除。 |