申请 GPU 资源,将容器调度到满足可用 GPU 资源个数的机器上并将 GPU 资源分配给容器。
标签格式:
aliyun.gpu: "1"
aliyun.gpu 指定申请的 GPU 资源的个数。容器服务调度器会寻找满足可用 GPU 资源个数的机器,将容器部署到该机器上,将 GPU 资源分配给容器并将主机上的 GPU 卡映射到容器内。容器所分配到的 GPU 资源对于您是透明的。具体来说:
例如,如果您申请了一个 GPU 资源,主机上只有一个
/dev/nvidia1可用,容器服务会将主机上的
/dev/nvidia1映射为容器里的
/dev/nvidia0。这样会让您的程序和具体的设备号解耦。
示例:
serving:
image: inception-serving:gpu
labels:
aliyun.gpu: "1"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您提到的是在阿里云容器服务中申请和使用GPU资源的场景。通过在容器的描述文件(如yaml或docker-compose文件)中添加特定标签,您可以方便地请求GPU资源并让容器服务自动调度到具备相应GPU资源的节点上。
aliyun.gpu: 这是一个自定义标签,用于向阿里云容器服务明确表示您希望为该容器分配的GPU资源数量。例如,aliyun.gpu: "1"
表示您需要为该容器申请1个GPU资源。
GPU资源映射: 容器服务会根据您的需求,在具有足够GPU资源的节点上调度容器,并负责将物理GPU设备映射到容器内部。这意味着,无论物理设备在主机上的实际标识符是什么(比如/dev/nvidia1
),容器内看到的设备名(如/dev/nvidia0
)是标准化的,这有助于简化应用程序的部署和管理,使其不依赖于特定的硬件标识。
serving:
image: inception-serving:gpu
labels:
aliyun.gpu: "1"
在这个示例中,名为serving
的服务配置了一个使用GPU的镜像inception-serving:gpu
,并通过设置标签aliyun.gpu: "1"
来请求一个GPU资源。当这个服务被部署时,阿里云容器服务会确保它运行在一个有至少1个可用GPU的节点上,并完成必要的设备映射工作。
通过这种方式,阿里云容器服务提供了一种灵活且高效的方式来管理和利用GPU资源,特别适合机器学习、深度学习等计算密集型应用的部署。