9.4. RDMA 用のクラスター設定


NVIDIA GPUDirect RDMA は、Remote Direct Memory Access (RDMA) を使用して直接 GPU 相互接続を提供します。RDMA 用にクラスターを設定するには、クラスター管理者が複数の Operator をインストールして設定する必要があります。

前提条件

  • クラスター管理者として OpenShift クラスターにアクセスできる。
  • クラスターには、サポート対象の NVIDIA GPU を備えた複数のワーカーノードがあり、互換性のある NVIDIA 高速ネットワークプラットフォームにアクセスできる。
  • 分散ワークロードコンポーネントのインストール の説明に従って、必要な分散トレーニングコンポーネント共に Red Hat OpenShift AI をインストールした。
  • 分散ワークロードの管理 の説明に従って、分散トレーニングリソースを設定した。

手順

  1. OpenShift コンソールにクラスター管理者としてログインします。
  2. OpenShift AI で NVIDIA GPU サポートを有効にします。

    このプロセスには、Node Feature Discovery Operator と NVIDIA GPU Operator のインストールが含まれます。詳細は、NVIDIA GPU の有効化 を参照してください。

    注記

    NVIDIA GPU Operator をインストールした後、ClusterPolicy カスタムリソースインスタンスで rdmaenabled に設定されていることを確認します。

  3. NVIDIA ネットワークリソースの管理を単純化するには、次のように NVIDIA Network Operator をインストールして設定します。

    1. OpenShift ドキュメントの クラスターへの Operator の追加 の説明に従って、NVIDIA Network Operator をインストールします。
    2. NVIDIA ドキュメントの Network Operator Application Notes に記載されているサンプルデプロイメントの説明に従って、NVIDIA Network Operator を設定します。
  4. [オプション] Single Root I/O Virtualization (SR-IOV) デプロイメントモードを使用するには、次のステップを実行します。

    1. OpenShift ドキュメントの SR-IOV Network Operator のインストール セクションの説明に従って、SR-IOV Network Operator をインストールします。
    2. OpenShift ドキュメントの SR-IOV Network Operator の設定 セクションの説明に従って、SR-IOV Network Operator を設定します。
  5. 以下のように、Machine Configuration Operator を使用して、コンテナーエンジン (CRI-O) 設定で非 root ユーザーの固定メモリーの制限を増やします。

    1. OpenShift コンソールの Administrator パースペクティブで、Compute MachineConfigs をクリックします。
    2. Create MachineConfig をクリックします。
    3. プレースホルダーテキストを次の内容に置き換えます。

      マシン設定の例

      apiVersion: machineconfiguration.openshift.io/v1
      kind: MachineConfig
      metadata:
        labels:
          machineconfiguration.openshift.io/role: worker
        name: 02-worker-container-runtime
      spec:
        config:
          ignition:
            version: 3.2.0
          storage:
            files:
              - contents:
                  inline: |
                    [crio.runtime]
                    default_ulimits = [
                      "memlock=-1:-1"
                    ]
                mode: 420
                overwrite: true
                path: /etc/crio/crio.conf.d/10-custom
      Copy to Clipboard Toggle word wrap

    4. default_ulimits エントリーを編集して、設定に適切な値を指定します。デフォルト制限の詳細は、ナレッジベースソリューション Set default ulimits on CRIO Using machine config を参照してください。
    5. Create をクリックします。
    6. ワーカーノードを再起動してマシン設定を適用します。

    この設定により、非 root ユーザーは、最も制限の厳しい OpenShift のデフォルトセキュリティーコンテキストで、RDMA を使用してトレーニングジョブを実行できるようになります。

検証

  1. 以下を実行して、Operator が正しくインストールされていることを確認します。

    1. OpenShift Console の Administrator パースペクティブで、Workloads Pods をクリックします。
    2. Project リストからプロジェクトを選択します。
    3. 新しくインストールされた各 Operator に対して Pod が実行されていることを確認します。
  2. 以下を実行して、RDMA が使用されていることを確認します。

    1. 次の例に示すように、PyTorchJob リソースを編集して、*NCCL_DEBUG* 環境変数を INFO に設定します。

      NCCL デバッグレベルを INFO に設定する

              spec:
                containers:
                - command:
                  - /bin/bash
                  - -c
                  - "your container command"
                  env:
                  - name: NCCL_SOCKET_IFNAME
                    value: "net1"
                  - name: NCCL_IB_HCA
                    value: "mlx5_1"
                  - name: NCCL_DEBUG
                    value: "INFO"
      Copy to Clipboard Toggle word wrap

    2. PyTorch ジョブを実行します。
    3. Pod ログに次のテキストのようなエントリーが含まれていることを確認します。

      Pod ログエントリーの例

      NCCL INFO NET/IB : Using [0]mlx5_1:1/RoCE [RO]
      Copy to Clipboard Toggle word wrap

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat