将 GPU 与您的服务搭配使用

本页面介绍如何将具有 NVIDIA 图形处理器 (GPU) 硬件加速器的节点池提供的计算能力和 Cloud Run for Anthos on Google Cloud 容器实例搭配使用,以推动图像识别、自然语言处理和其他计算密集型任务等深度学习任务的进行。

向 GKE 集群添加具有 GPU 的节点池

让管理员创建一个具有 GPU 的节点池:

  1. 将支持 GPU 的节点池添加到 GKE 集群

  2. 将 NVIDIA 的设备驱动程序安装到节点

设置服务以使用 GPU

当您部署新的服务、更新现有服务或部署修订版本时,可以使用 Cloud Console、gcloud 命令行工具或 YAML 文件来指定资源限制,以便您的服务使用 GPU,具体操作如下:

控制台

  1. 转到 Cloud Run for Anthos on Google Cloud
  2. 点击创建服务,以显示“创建服务”表单。

    图片

  3. 服务设置部分:

    • 选择 Cloud Run for Anthos on Google Cloud 作为您的开发平台。
    • 选择具有支持 GPU 的节点池的 GKE 集群。
    • 为您的服务指定名称。
    • 选择您要使用哪个连接来调用服务。
    • 点击下一步以转到服务创建表单的下一页。
  4. 配置服务的第一个修订版本部分:

    图片

    • 添加容器映像网址。
    • 点击显示高级设置,然后在分配的 GPU 下拉菜单中,选择要分配给服务的 GPU 数量图片
  5. 点击创建以将映像部署到 Cloud Run for Anthos,然后等待部署完成。

命令行

  • 对于现有服务,请运行带有 --gpu 参数的 gcloud kuberun core services update 命令来更新 GPU 限制设置:

    gcloud kuberun core services update SERVICE --gpu GPU
    

    您需要将其中的:

    • SERVICE 替换为相应服务的名称。
    • GPU 替换为您要分配给服务的 GPU 数量
  • 对于新的服务,您可以通过运行具有 --gpu 参数的 gcloud kuberun core services create 命令来设置 GPU 限制:

    gcloud kuberun core services create SERVICE --image=IMAGE_URL --gpu GPU
    

    替换以下内容:

    • SERVICE 替换为相应服务的名称。
    • IMAGE_URL 替换为对容器映像的引用,例如 gcr.io/myproject/my-image:latest
    • GPU 替换为您要分配给服务的 GPU 数量

YAML

如需使用 YAML 文件修改现有服务的配置,请获取当前配置的副本,修改相应配置并将更改保存到本地文件内,然后再将这些更改部署到服务中。

  1. 显示为 YAML,然后将服务的配置复制到本地文件(例如 service.yaml)中:

    gcloud kuberun core services describe SERVICE --format yaml

    SERVICE 替换为您的 Cloud Run for Anthos 服务的名称。

  2. 在本地文件中,更新 nvidia.com/gpu 属性:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
    name: SERVICE_NAME
    spec:
    template:
     spec:
       containers:
       – image: IMAGE_URL
         resources:
           limits:
            nvidia.com/gpu: GPU_UNITS
    

    GPU_UNITS 替换为 Kubernetes GPU 单元中所需的 GPU 值。例如,指定 1 表示 1 个 GPU。

  3. 通过运行以下命令来部署 YAML 文件并为您的服务换用新配置:

    gcloud beta run services replace service.yaml

如需详细了解 GPU 性能和费用,请参阅 GPU