NVIDAI GPU 相关环境变量
1. nvidia-container-runtime OCI规范
环境变量 | 参数说明 | 描述 |
---|---|---|
NVIDIA_VISIBLE_DEVICES | 0,1,2 或者GPU-fef8089b,GPU-edab347b 或者all 或者none |
此变量控制哪些 GPU 可在容器内访问 |
NVIDIA_DRIVER_CAPABILITIES | 容器所需的驱动程序功能的逗号分隔列表: compute ,compat32 , graphics , utility , video , display 或者 all ; |
哪些特性可以被使用, 默认值:utility,compute |
NVIDIA_REQUIRE_CUDA | cuda>=11.0 |
对 CUDA 驱动程序版本的限制 |
NVIDIA_REQUIRE_DRIVER | driver>=450 |
对驱动程序版本的限制 |
NVIDIA_REQUIRE_ARCH | arch=amd64 arch=arm64 |
对所选 GPU 的计算架构的约束 |
NVIDIA_REQUIRE_BRAND | GeForce、Tesla、GRID |
对所选 GPU 品牌的限制 |
NVIDIA_DISABLE_REQUIRE | true or false |
关闭所有限制 |
2. NVIDIA Device plugin 规范
2.1 k8s-device-plugin 配置
环境变量 | 参数说明 | 描述 |
---|---|---|
MIG_STRATEGY | none ,single , mixed |
在支持 MIG 的 GPU 上公开 MIG 设备所需的策略. 默认值none |
FAIL_ON_INIT_ERROR | true 或 false |
如果初始化过程中遇到错误,则插件失败,无限期阻止. 默认值 true |
NVIDIA_DRIVER_ROOT | /run/nvidia/driver |
NVIDIA 驱动程序安装的根路径. 默认值 / |
PASS_DEVICE_SPECS | true 或 false |
允许设备插件与CPUManagerKubernetes 中的 进行互操作. 默认值 false |
DEVICE_LIST_STRATEGY | envvar环境变量 , volume-mounts卷mount , cdi-annotations CDI容器 , cdi-criCRI 字段用于选择需要注入的 CDI 设备 |
将设备列表传递给底层runtime所需的策略。默认值 envvar |
DEVICE_ID_STRATEGY | uuid 或者 index |
将设备 ID 传递到底层runtime所需的策略. 默认值 uuid |
CONFIG_FILE | "" | 将插件指向配置文件,而不是依赖命令行标志或环境变量. 设置参数优先顺序为 (1) 命令行标志、(2) 环境变量、(3) 配置文件。 |
2.2 Config-Manager 配置
环境变量 | 参数说明 | 描述 |
---|---|---|
ONESHOT | true 持续获取 或 false 只获取一次 |
获取node label资源; 默认值 false |
NODE_LABEL | nvidia.com/device-plugin.config |
获取node 特定资源key; 默认值 nvidia.com/device-plugin.config |
DEFAULT_CONFIG | "" | 默认配置,默认值:"" |
2.3 Hami-core 配置
环境变量 | 参数说明 | 描述 |
---|---|---|
CUDA_DEVICE_MEMORY_LIMIT | 1g 或者 512Mi |
用于指定设备内存的上限 |
CUDA_DEVICE_SM_LIMIT | 0-100的百分比 | 用于指定每个设备的 SM 利用率百分比 |
LIBCUDA_LOG_LEVEL | 0错误信息;1和2info信息;3waring信息;4debug信息 | 来设置日志的可见性 |
LD_PRELOAD | "" | 优先加载的动态链接库 |
3. Operator
3.1 vGPU manager
环境变量 | 参数说明 | 描述 |
---|---|---|
OPERATOR_NAMESPACE | "" | Operator 命名空间 默认值:“default” |
ENABLE_GPU_POD_EVICTION | true or false |
尝试节点耗尽之前仅尝试从节点中驱逐 GPU Pod. 默认值true |
ENABLE_AUTO_DRAIN | true or false |
. 默认值 true |
DRAIN_USE_FORCE | true or false |
驱逐未由任何复制控制器(例如部署、守护进程集、有状态集和副本集)管理的 GPU 容器。 默认值false |
DRAIN_POD_SELECTOR_LABEL | "" | 按标签驱逐. 默认值"" |
DRAIN_TIMEOUT_SECONDS | “0s"无超时 | 驱逐超时时间. 默认值0s |
DRAIN_DELETE_EMPTYDIR_DATA | true or false |
必须启用环境变量才能删除使用类型卷的 GPU容器. 默认值false |
4. cuda
环境变量 | 参数说明 | 描述 |
---|---|---|
CUDA_VISIBLE_DEVICES | MIG-// | GPU 标识符以整数索引或 UUID 字符串形式给出。 |
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) | 禁用缓存 |
CUDA_CACHE_PATH | "” | 指定即时编译器缓存二进制代码的文件夹;默认值~/.nv/ComputeCache |
CUDA_CACHE_MAXSIZE | 整数(默认值为 268435456(256 MiB),最大值为 4294967296(4 GiB)) | 即时编译器使用的缓存大小(以字节为单位) |
CUDA_FORCE_PTX_JIT | 0 或 1(默认为 0) | 设置为 1 时,强制设备驱动程序忽略应用程序中嵌入的任何二进制代码 |
CUDA_DISABLE_PTX_JIT | 0 或 1(默认为 0) | 禁用嵌入式 PTX 代码的即时编译 |
CUDA_DEVICE_MAX_CONNECTIONS | 1 到 32(默认为 8) | 设置从主机到每个计算能力 3.5 及以上的设备的计算和复制引擎并发连接(工作队列)的数量。 |
CUDA_DEVICE_DEFAULT_PERSISTING_L2_CACHE_PERCENTAGE_LIMIT | 0-100 | 使用 CUDA MPS 服务时,只能在启动 CUDA MPS 控制守护进程之前使用此环境变量来控制预留大小。应在运行以下命令之前设置环境变量: nvidia-cuda-mps-control -d |
其他:
「如果这篇文章对你有用,请随意打赏」
如果这篇文章对你有用,请随意打赏
使用微信扫描二维码完成支付
