6.3. Dynamic Accelerator Slicer Operator を使用して GPU ワークロードをデプロイする


Dynamic Accelerator Slicer (DAS) Operator によって管理される GPU スライスを要求するワークロードをデプロイできます。Operator は GPU アクセラレーターを動的に分割し、利用可能な GPU スライスにワークロードをスケジュールします。

前提条件

  • クラスター内に使用可能な MIG 対応 GPU ハードウェアがある。
  • NVIDIA GPU Operator がインストールされており、ClusterPolicyReady 状態を示している。
  • DAS Operator がインストール済みである。

手順

  1. 次のコマンドを実行して、namespace を作成します。

    oc new-project cuda-workloads
    Copy to Clipboard Toggle word wrap
  2. NVIDIA MIG リソースを使用して GPU リソースを要求するデプロイメントを作成します。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: cuda-vectoradd
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: cuda-vectoradd
      template:
        metadata:
          labels:
            app: cuda-vectoradd
        spec:
          restartPolicy: Always
          containers:
          - name: cuda-vectoradd
            image: nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda12.5.0-ubi8
            resources:
              limits:
                nvidia.com/mig-1g.5gb: "1"
            command:
              - sh
              - -c
              - |
                env && /cuda-samples/vectorAdd && sleep 3600
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを実行して、デプロイメント設定を適用します。

    $ oc apply -f cuda-vectoradd-deployment.yaml
    Copy to Clipboard Toggle word wrap
  4. 次のコマンドを実行して、デプロイメントが作成され、Pod がスケジュールされていることを確認します。

    $ oc get deployment cuda-vectoradd
    Copy to Clipboard Toggle word wrap

    出力例

    NAME             READY   UP-TO-DATE   AVAILABLE   AGE
    cuda-vectoradd   2/2     2            2           2m
    Copy to Clipboard Toggle word wrap

  5. 次のコマンドを実行して、Pod のステータスを確認します。

    $ oc get pods -l app=cuda-vectoradd
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                              READY   STATUS    RESTARTS   AGE
    cuda-vectoradd-6b8c7d4f9b-abc12   1/1     Running   0          2m
    cuda-vectoradd-6b8c7d4f9b-def34   1/1     Running   0          2m
    Copy to Clipboard Toggle word wrap

検証

  1. 次のコマンドを実行して、デプロイメント Pod に対して AllocationClaim リソースが作成されたことを確認します。

    $ oc get allocationclaims -n das-operator
    Copy to Clipboard Toggle word wrap

    出力例

    NAME                                                                                           AGE
    13950288-57df-4ab5-82bc-6138f646633e-harpatil000034jma-qh5fm-worker-f-57md9-cuda-vectoradd-0   2m
    ce997b60-a0b8-4ea4-9107-cf59b425d049-harpatil000034jma-qh5fm-worker-f-fl4wg-cuda-vectoradd-0   2m
    Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して Pod のリソース割り当ての 1 つをチェックし、GPU スライスが適切に割り当てられていることを確認します。

    $ oc describe pod -l app=cuda-vectoradd
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを実行してログをチェックし、CUDA サンプルアプリケーションが正常に実行されたことを確認します。

    $ oc logs -l app=cuda-vectoradd
    Copy to Clipboard Toggle word wrap

    出力例

    [Vector addition of 50000 elements]
    Copy input data from the host memory to the CUDA device
    CUDA kernel launch with 196 blocks of 256 threads
    Copy output data from the CUDA device to the host memory
    Test PASSED
    Copy to Clipboard Toggle word wrap

  4. 次のコマンドを実行して環境変数をチェックし、GPU デバイスがコンテナーに適切に公開されていることを確認します。

    $ oc exec deployment/cuda-vectoradd -- env | grep -E "(NVIDIA_VISIBLE_DEVICES|CUDA_VISIBLE_DEVICES)"
    Copy to Clipboard Toggle word wrap

    出力例

    NVIDIA_VISIBLE_DEVICES=MIG-d8ac9850-d92d-5474-b238-0afeabac1652
    CUDA_VISIBLE_DEVICES=MIG-d8ac9850-d92d-5474-b238-0afeabac1652
    Copy to Clipboard Toggle word wrap

    これらの環境変数は、GPU MIG スライスが適切に割り当てられ、コンテナー内の CUDA ランタイムから認識できることを示します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat