开发者社区 问答 正文

服务编排的gpu


申请 GPU 资源,将容器调度到满足可用 GPU 资源个数的机器上并将 GPU 资源分配给容器。
[backcolor=transparent]标签格式:
aliyun.gpu: "1"
aliyun.gpu 指定申请的 GPU 资源的个数。容器服务调度器会寻找满足可用 GPU 资源个数的机器,将容器部署到该机器上,将 GPU 资源分配给容器并将主机上的 GPU 卡映射到容器内。容器所分配到的 GPU 资源对于您是透明的。具体来说:
例如,如果您申请了一个 GPU 资源,主机上只有一个 /dev/nvidia1 可用,容器服务会将主机上的/dev/nvidia1 映射为容器里的 /dev/nvidia0。这样会让您的程序和具体的设备号解耦。
[backcolor=transparent]示例:

  1. [backcolor=transparent]serving[backcolor=transparent]:
  2. [backcolor=transparent]    image[backcolor=transparent]:[backcolor=transparent] inception[backcolor=transparent]-[backcolor=transparent]serving[backcolor=transparent]:[backcolor=transparent]gpu
  3. [backcolor=transparent]    labels[backcolor=transparent]:
  4. [backcolor=transparent]       aliyun[backcolor=transparent].[backcolor=transparent]gpu[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"1"

展开
收起
反向一觉 2017-10-27 16:40:18 1809 分享 版权
阿里云 AI 助理回答

看起来您希望在阿里云的容器服务中申请并使用GPU资源。您的描述已经很接近正确的配置方式了,但似乎在示例中最后一个标签部分有格式上的小错误。让我帮您修正一下这个配置示例:

serving:
  image: inception-serving:gpu
  labels:
    aliyun.gpu: "1"

在这个修正后的示例中,serving 部分定义了一个服务,它使用的镜像是 inception-serving:gpu,这表明该镜像应该是为GPU优化过的。然后,在 labels 下,通过 aliyun.gpu: "1" 正确地指定了需要申请1个GPU资源。

当您在阿里云的Kubernetes集群(如ACK)中使用这样的配置部署服务时,容器服务的调度器会识别到您对GPU资源的需求,并尝试将这个容器调度到具有可用GPU资源的节点上。如果节点上有多个GPU,容器服务会负责映射合适的GPU设备到容器内部,确保容器内的程序可以无感知地使用到请求的GPU资源,正如您之前描述的那样,可能将主机上的 /dev/nvidia1 映射为容器里的 /dev/nvidia0

记得在实际部署前,确保您的集群已经配置了支持GPU的节点,并且安装了必要的驱动和工具包,比如NVIDIA的设备插件,以保证GPU资源能够被Kubernetes正确识别和管理。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答