Documentation Index

Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt

Use this file to discover all available pages before exploring further.

GPU Resources

Prev Next

VPC環境で利用できます。

GPU Resourceの画面構成について説明します。GPU Resourcesでは、Workspaceに割り当てられた GPUリソースの状況を照会できます。

参考

現在、ML expert Platformはクローズドベータサービス(CBT)中で、事前協議済みのユーザーに GPUリソースを別途割り当てています。

GPU Resourceリスト照会

ユーザーの Workspaceに割り当てられた GPUリソースのリストを確認できます。GPU Resourceリストの情報は次の通りです。

mlxp_console_gpuresources03_ko

  • GPU Zone: ユーザーの Workspaceに割り当てられた GPUリソースの提供方法を区別する情報
  • 作成日時: GPUリソースを割り当てた時点
  • ステータス: GPUリソースのステータス
  • Ready Nodes: 使用可能な GPUノード数
  • UnReady Nodes: 使用不可な GPUノード数
  • Total Nodes: 現在 Workspaceに割り当てられた GPUリソースの総数
参考
  • 現在、ML Expert Platformは Private Zoneで GPUリソースを提供しています。
  • Private Zoneとは、他のユーザーと GPUリソースを共有せず、割り当てられた Workspaceで専用に使用する方式です。

使用可能な GPUゾーン情報の照会

使用可能な GPUゾーン情報を照会する方法は、次の通りです。

  • Workspaceで使用可能な GPU Zone情報を照会
    kubectl get managementquota default -o yaml -n w-{ workspace name }
  spec:
  type: workspace
  zones:
    privateZones:
      # Workspaceで「gpu-private-zone」の GPUリソースが使用可能
      gpu-private-zone: ["*"]
  • Projectで使用可能な GPU Zone情報を照会
    kubectl get managementquota default -o yaml -n p-{ project name}
  spec:
  type: project
  zones:
    privateZones:
      # Projectで「gpu-private-zone」の GPUリソースが使用可能
      gpu-private-zone: ["*"]

GPU Zone情報の使用方法

GPUリソース情報を活用するすべての機能を使用する際には、GPU Zone情報を明示する必要があります。

  • PyTorchJobで Podを作成する際は、実行する GPU Zoneを明示する nodeSelectorを追加してください。
apiVersion: "kubeflow.org/v1"
kind: "PyTorchJob"
metadata:
  name: "pytorch-dist-mnist-nccl"
spec:
  pytorchReplicaSpecs:
    Master:
      replicas: 1
      restartPolicy: OnFailure
      template:
        metadata:
          labels:
            app: my-app
        spec:
          nodeSelector:
            mlx.navercorp.com/zone: ai-infra
          containers:
            - name: pytorch
              image: kubeflow/pytorch-dist-mnist:latest
              args: ["--backend", "nccl"]
              resources:
                limits:
                  nvidia.com/gpu: 1
    Worker:
      replicas: 2
      restartPolicy: OnFailure
      template:
        metadata:
          labels:
            app: my-app
        spec:
          containers:
            - name: pytorch
              image: kubeflow/pytorch-dist-mnist:latest
              args: ["--backend", "nccl"]
              resources:
                limits:
                  nvidia.com/gpu: 1
          nodeSelector:
            mlx.navercorp.com/zone: ai-infra
  • すべてのワークロードの基盤となる Podにも、nodeSelectorで GPUゾーンを明示する必要があります。
apiVersion: v1
kind: Pod
metadata:
  name: sleep
  annotations:
    sidecar.istio.io/inject: "false"
spec:
  nodeSelector:
    mlx.navercorp.com/zone: ai-infra
  containers:
    - image: reg.navercorp.com/base/ubuntu:22.04
      command: ["/bin/bash", "-c", "sleep inf"]
      imagePullPolicy: IfNotPresent
      name: sleep

GPU Instance詳細を照会

GPU Zone内部にある GPUインスタンスのステータス情報を照会できます。

mlxp_console_gpuresources03_ko

  • GPUインスタンス名: GPU Zoneに割り当てられた GPUインスタンスの名前
  • 作成日時: GPUインスタンスを作成した時点
  • ステータス: GPUインスタンスのステータス
    • Ready: GPUインスタンスが使用可能なステータス
    • NotReady: ハードウェア障害などにより GPUインスタンスが使用できないステータス
    • Unschedulable: GPUインスタンスは正常だが、スケジューリング対象から除外されたステータス
    • Unknown: GPUインスタンスに問題が発生し、点検が必要なステータス
  • プロジェクト: GPUインスタンスが割り当てられたプロジェクト名

GPU Instance管理

GPU Zoneの GPUインスタンスをプロジェクトごとに割り当てることができます。

参考
  • 初回アクセス時に Workspaceに割り当てた GPUインスタンスを各プロジェクトに割り当てるタスクが必要です。
  • GPU Instance管理機能は、Workspaceの Admin、Writerのみが使用できます。
  1. GPUインスタンス管理のポップアップでプロジェクトを選択した後、選択したプロジェクトで使用する GPUインスタンスを選択します。
  2. 保存ボタンを押すと、選択した GPUインスタンスがプロジェクトに割り当てられます。
  3. 初期化ボタンを押すと、選択したプロジェクトに設定された GPUインスタンス情報で再照会されます。
注意
  • GPUインスタンスは各プロジェクトに重複して割り当て可能です。
  • GPU Instance管理機能は、各プロジェクトで使用可能な予備リソースを指定する機能であり、現在使用中の Podのリアルタイムステータス情報は反映しません。使用中の Podがある GPUインスタンスを別のプロジェクトに割り当てた場合、再起動時にそのインスタンスが割り当てられたプロジェクト情報が変更されたため、Podは再起動されません。