SuperAPI AI 工具集

tao-run-on-local-docker

部署与运维

查看项目

更新于 10-16 04:34

技能介绍

用途:在单节点上把 TAO 作业作为具名 Docker 容器运行于本地 Docker 守护进程,适合开发、调试、小规模运行,以及已具备 GPU、NVIDIA 驱动、Docker 和 NVIDIA Container Toolkit 的主机。不适用于远程集群调度、多节点训练或需要 SLURM 排队的作业。

主要能力:支持两种模式。模式一为直接 docker 调用,只需 docker 加 GPU 运行时;模式二为 TAO SDK 封装,提供 Job 句柄、S3 输入输出包装与 ActionWorkflow。支持通过 --gpus 使用本机多 GPU,DockerSDK.create_job(gpu_count=N) 映射到 --gpus,单机分布式初始化使用 localhost。后端类型为 local-docker。

使用方式:先做预检,确认 Docker 守护进程可达且 NVIDIA 运行时可见 GPU,例如 docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi。模式二需安装 nvidia-tao-sdk 与 docker Python 客户端,并确保网络存在:docker network create tao_default。可选环境变量包括 DOCKER_HOST、DOCKER_NETWORK、DOCKER_USERNAME、NGC_KEY、HOST_SSH_PATH,以及 ACCESS_KEY、SECRET_KEY、S3_ENDPOINT_URL、S3_BUCKET_NAME。SDK 示例:from tao_sdk.platforms.docker import DockerSDK,随后 sdk.create_job(image=..., command=..., gpu_count=1, inputs=..., outputs=...)。

限制:不支持多节点,单作业仅运行在本机。本地路径不一定挂载进容器,需按 action runner 约定或显式配置卷。GPU 分配可能因 Toolkit 未配置或 GPU 被占用失败,私有镜像需 NGC_KEY 或先 docker login nvcr.io。日志可用 docker logs tao-job-<job_id> 查看。取消作业即停止具名容器,GPU 归属由 Docker/NVIDIA 运行时管理。多节点与远程共享文件系统未提供支持。