本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Deadline Cloud 工作者上运行带有 NVIDIA GPU
docker_nvidia_container_toolkitdocker run许多 GPU 工作负载,例如 comfyUI 和 Stable Diffusion 推理服务器,都以容器镜像的形式提供,需要具有 GPU 直通功能的 Docker。容器还提供了一种干净的方法来打包复杂的依赖堆栈(CUDA、Python、特定于应用程序的库),而不会污染主机或与队列中的其他任务发生冲突。
脚本执行以下操作:
-
通过安装 Docker
dnf并启动该服务。 -
job-user添加到docker群组中,这样作业就可以在没有 sudo 的情况下运行容器。 -
从官方存储库安装 NVIDIA 容器工具包。
-
将 Docker 守护程序配置为使用 NVIDIA 运行时。
-
生成用于 GPU 访问的 CDI(容器设备接口)规范。
-
重新启动 Docker 并验证设置。
队列 AMI 必须已经安装了 NVIDIA GPU 驱动程序,Deadline Cloud GPU AMI 提供了这些驱动程序,并且队列必须使用 GPU 实例类型g6.xlarge,例如g6e.xlarge、或p4d.24xlarge。
主机配置运行后,作业可以启动 GPU 容器。以下示例运行一个容器,该容器具有 GPU 访问权限、主机网络以及基于Deadline Cloud使用量的标准许可证环境变量传递通过:
docker run --rm \ --runtime=nvidia \ --gpus all \ --network host \ -e ADSKFLEX_LICENSE_FILE \ -e FLEXLM_TIMEOUT \ -e foundry_LICENSE \ -e PIXAR_LICENSE_FILE \ -e g_licenseServerRLM \ -e redshift_LICENSE \ -e SESI_LMHOST \ -e VRAY_AUTH_CLIENT_FILE_PATH \ -e VRAY_AUTH_CLIENT_SETTINGS \your-image:latest