すべてのプロダクト
Search
ドキュメントセンター

Elastic GPU Service:KuberGPU cGPU サービスのインストールと使用

最終更新日:Jun 23, 2026

cGPU は GPU リソースを隔離し、複数のコンテナが単一の GPU カードを共有できるようにします。これは、機械学習、ディープラーニング、科学計算などのハイパフォーマンスコンピューティング (HPC) ワークロード向けに設計された Container Service for Kubernetes (ACK) のコンポーネントです。GPU リソースをより効率的に使用することで、コンピューティングタスクを高速化できます。このトピックでは、 cGPU のインストール方法と使用方法について説明します。

説明

cGPU の隔離は統合仮想メモリ (UVM) をサポートしていないため、cudaMallocManaged() を呼び出して GPU メモリを割り当てることはできません。代わりに、cudaMalloc() を呼び出してください。詳細については、NVIDIA ドキュメントをご参照ください。

前提条件

ご利用の GPU インスタンスが次の要件を満たしていることを確認してください:

  • インスタンスファミリーは、gn7i、gn6i、gn6v、gn6e、gn5i、gn5、ebmgn7i、ebmgn6i、ebmgn7e、ebmgn6e のいずれかです。

  • オペレーティングシステムは、CentOS、Ubuntu、または Alibaba Cloud Linux のいずれかです。

  • Tesla ドライバー 418.87.01 以降がインストールされています。

  • Docker 19.03.5 以降がインストールされています。

cGPU のインストール

ACK Docker ランタイムで cGPU をインストールして使用することを推奨します。

重要

cGPU バージョン 1.5.7 をインストールすると、cGPU カーネルドライバーでデッドロック (同時に実行されているプロセスが互いにブロックし合う状態) が発生し、Linux カーネルパニックにつながる可能性があります。新しいワークロードでカーネルエラーを回避するために、cGPU 1.5.8 以降をインストールするか、以前のバージョンを段階的に 1.5.8 以降にアップグレードすることを推奨します。

  1. クラスターを作成します。

    詳細については、「ACK マネージドクラスターの作成」をご参照ください。

  2. クラスターリスト ページで、クラスターの名前をクリックします。左側のナビゲーションウィンドウで、アプリケーション > クラウドネイティブ AI コンポーネントセット をクリックします。

  3. クラウドネイティブ AI コンポーネントセット ページで、デプロイ をクリックします。

  4. [基本的な機能] セクションで、[スケジューリングポリシー拡張 (バッチタスクスケジューリング、GPU 共有、トポロジー対応 GPU スケジューリング)] を選択します。

  5. ページの下部にある [クラウドネイティブ AI スイートのデプロイ] をクリックします。

    インストール後、[クラウドネイティブ AI スイート] ページのコンポーネントリストに ack-ai-installer コンポーネントが表示されます。

cGPU の使用

このトピックでは、ecs.gn6i-c4g1.xlarge インスタンス上の 2 つのコンテナが単一の GPU を共有する方法を示します。

cGPU 環境変数

コンテナの作成時に環境変数を設定して、cGPU がコンテナに割り当てるコンピューティング能力を制御できます。

環境変数

値の型

説明

CGPU_DISABLE

ブール値

cGPU を無効にするかどうかを指定します。有効な値:

  • false:cGPU を有効にします。

  • true:cGPU を無効にし、デフォルトの NVIDIA コンテナサービスを使用します。

デフォルト値:false。

true

ALIYUN_COM_GPU_MEM_DEV

整数

GPU インスタンス上の各 GPU の合計 GPU メモリを GiB 単位で設定します。

NVIDIA Tesla T4 GPU を 1 つ搭載した ecs.gn6i-c4g1.xlarge インスタンスの場合、インスタンスで nvidia-smi コマンドを実行して合計 GPU メモリを確認できます。

合計 GPU メモリが 15,109 MiB の場合、値を 15 (15 GiB) に設定します。

ALIYUN_COM_GPU_MEM_CONTAINER

整数

コンテナから見える GPU メモリの量を GiB 単位で設定します。この変数は ALIYUN_COM_GPU_MEM_DEV と一緒に使用されます。例:

合計メモリが 15 GiB の GPU で、ALIYUN_COM_GPU_MEM_DEV=15ALIYUN_COM_GPU_MEM_CONTAINER=1 を設定すると、コンテナに 1 GiB の GPU メモリが割り当てられます。

説明

この変数が設定されていないか、0 に設定されている場合、cGPU は無効になり、代わりにデフォルトの NVIDIA コンテナサービスが使用されます。

1

ALIYUN_COM_GPU_VISIBLE_DEVICES

整数または UUID

4 つの GPU を搭載した GPU インスタンスで、nvidia-smi -L を実行して GPU のデバイス番号と UUID を表示します。次の出力は一例です:

GPU 0: Tesla T4 (UUID: GPU-b084ae33-e244-0959-cd97-83****)
GPU 1: Tesla T4 (UUID: GPU-3eb465ad-407c-4a23-0c5f-bb****)
GPU 2: Tesla T4 (UUID: GPU-2fce61ea-2424-27ec-a2f1-8b****)
GPU 3: Tesla T4 (UUID: GPU-22401369-db12-c6ce-fc48-d7****)

この変数を次のいずれかの値に設定できます:

  • ALIYUN_COM_GPU_VISIBLE_DEVICES=0,1:最初と 2 番目の GPU をコンテナに割り当てます。

  • ALIYUN_COM_GPU_VISIBLE_DEVICES=GPU-b084ae33-e244-0959-cd97-83****,GPU-3eb465ad-407c-4a23-0c5f-bb****,GPU-2fce61ea-2424-27ec-a2f1-8b****:指定された UUID を持つ 3 つの GPU をコンテナに割り当てます。

0,1

ALIYUN_COM_GPU_SCHD_WEIGHT

整数

コンテナのコンピューティング能力の重み。値は 1 から max_inst までの整数である必要があります。

なし

ALIYUN_COM_GPU_HIGH_PRIO

整数

コンテナに高い優先度を設定するかどうかを指定します。有効な値:

  • 0:コンテナに通常の優先度を設定します。

  • 1:コンテナに高い優先度を設定します。

デフォルト値:0。

説明

最高のパフォーマンスを得るには、GPU ごとに高優先度のコンテナを 1 つだけ設定してください。複数の高優先度コンテナは、指定されたスケジューリングポリシーに従います。

  • 高優先度のコンテナに GPU タスクがある場合、スケジューリングポリシーに関係なく GPU のコンピューティング能力をプリエンプトできます。

  • 高優先度のコンテナがアイドル状態の場合、スケジューリングから除外され、コンピューティング能力はゼロに割り当てられます。

0

cGPU を使用したコンテナの実行

  1. 次のコマンドを実行してコンテナを作成し、各コンテナから見える GPU メモリを設定します。

    この例では、ALIYUN_COM_GPU_MEM_CONTAINER および ALIYUN_COM_GPU_MEM_DEV 環境変数を設定して、コンテナから見える GPU メモリとデバイスの合計 GPU メモリを指定します。

    • gpu_test1:6 GiB の GPU メモリを割り当てます。

      sudo docker run -d -t --gpus all --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 --name gpu_test1 -v /mnt:/mnt -e ALIYUN_COM_GPU_MEM_CONTAINER=6 -e ALIYUN_COM_GPU_MEM_DEV=15 nvcr.io/nvidia/tensorflow:19.10-py3
    • gpu_test2:8 GiB の GPU メモリを割り当てます。

      sudo docker run -d -t --gpus all --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 --name gpu_test2 -v /mnt:/mnt -e ALIYUN_COM_GPU_MEM_CONTAINER=8 -e ALIYUN_COM_GPU_MEM_DEV=15 nvcr.io/nvidia/tensorflow:19.10-py3
    説明

    このコマンドでは、TensorFlow コンテナイメージ nvcr.io/nvidia/tensorflow:19.10-py3 を例として使用しています。ご自身のコンテナイメージに置き換えてください。TensorFlow イメージを使用して TensorFlow 深層学習フレームワークを構築する方法の詳細については、「ディープラーニング開発のための NGC 環境のデプロイ」をご参照ください。

  2. 次のコマンドを実行して、GPU メモリなどのコンテナの GPU 情報を表示します。

    sudo docker exec -i gpu_test1 nvidia-smi

    たとえば、gpu_test1 コンテナから見える GPU メモリは、次の出力に示すように 6,043 MiB です:

    NVIDIA-SMI 440.33.01    Driver Version: 440.33.01    CUDA Version: 10.2
    +-----------------------------------------------------------------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |=============================================================================|
    |   0  Tesla T4            On   | 00000000:00:08.0 Off |                    0 |
    | N/A   29C    P8     9W /  70W |      0MiB /  6043MiB |      0%      Default |
    +-----------------------------------------------------------------------------+
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+

procfs ノードを使用した cGPU 情報の表示

cGPU の実行中、/proc/cgpu_km ディレクトリに複数のプロセスファイルシステム (procfs) ノードが生成され、自動的に管理されます。これらの procfs ノードを使用して、cGPU 情報を表示および設定できます。

  1. 次のコマンドを実行して、procfs ノードに関する情報を表示します。

    ls /proc/cgpu_km/

    次の出力が返されます:

    0  default_memsize  inst_ctl  upgrade  version

    Procfs ノード

    ノード

    アクセスタイプ

    説明

    0

    読み取り/書き込み

    cGPU は、GPU インスタンス上の各 GPU に対してディレクトリを生成します。ディレクトリ名は 0、1、2 などの数値です。

    この例では、1 つの GPU のみが使用されており、対応するディレクトリは 0 です。

    default_memsize

    読み取り/書き込み

    ALIYUN_COM_GPU_MEM_CONTAINER 変数が設定されていない場合に、新しいコンテナに割り当てられるデフォルトの GPU メモリ量。

    inst_ctl

    読み取り/書き込み

    コントロールノード。

    upgrade

    読み取り/書き込み

    cGPU のホットアップデートを制御します。

    version

    読み取り専用

    cGPU のバージョン。

  2. 次のコマンドを実行して、GPU ディレクトリの内容を表示します。

    この例では GPU 0 を使用します。

    ls /proc/cgpu_km/0

    次の出力が返されます:

    012b2edccd7a    0852a381c0cf    free_weight    major    max_inst    policy    prio_ratio

    GPU ディレクトリの内容

    ファイル/ディレクトリ

    アクセスタイプ

    説明

    012b2edccd7a または 0852a381c0cf

    読み取り/書き込み

    コンテナに対応するディレクトリ。

    cGPU は、GPU インスタンス上で実行される各コンテナに対してディレクトリを作成し、ディレクトリ名としてコンテナ ID を使用します。

    説明

    docker ps を実行して、作成されたコンテナを表示できます。

    free_weight

    読み取り専用

    GPU 上で利用可能な重みを照会します。

    free_weight=0 の場合、新しく作成されたコンテナには重み 0 が割り当てられます。コンテナは GPU のコンピューティング能力を取得できません。

    major

    読み取り専用

    cGPU のメジャー番号。デバイスの種類を示します。

    max_inst

    読み取り/書き込み

    コンテナの最大数を指定します。値は 1 から 25 までの整数です。

    policy

    読み取り/書き込み

    コンピューティング能力のスケジューリングポリシー。cGPU は次のポリシーをサポートしています:

    • 0:フェアシェアスケジューリング。各コンテナは固定のタイムスライスを占有します。タイムスライスの割合は 1/max_inst です。

    • 1:プリエンプティブスケジューリング。各コンテナは可能な限り多くのタイムスライスを占有します。タイムスライスの割合は 1/現在のコンテナ数 です。

    • 2:重み付けプリエンプティブスケジューリング。このポリシーは、ALIYUN_COM_GPU_SCHD_WEIGHT が 1 より大きい値に設定されている場合に自動的に有効になります。

    • 3:固定スケジューリング。固定された割合のコンピューティング能力を割り当てるために使用されます。

    • 4:ソフトスケジューリング。プリエンプティブスケジューリングよりも弱い隔離を提供します。

    • 5:ネイティブスケジューリング。GPU ドライバーの組み込みスケジューリングポリシー。

    policy の値を変更して、スケジューリングポリシーをリアルタイムで調整できます。スケジューリングポリシーの詳細については、「cGPU の使用例」をご参照ください。

    prio_ratio

    読み取り/書き込み

    ワークロードのコロケーションシナリオでは、この設定は高優先度のコンテナがプリエンプトできる最大のコンピューティング能力を、20 から 99 のパーセンテージで定義します。

  3. 次のコマンドを実行して、コンテナのディレクトリの内容を表示します。

    この例では、コンテナ 012b2edccd7a を使用します。

    ls /proc/cgpu_km/0/012b2edccd7a

    次の出力が返されます:

    highprio    id  meminfo  memsize  weight

    コンテナディレクトリの内容

    ファイル

    アクセスタイプ

    説明

    highprio

    読み取り/書き込み

    コンテナの優先度を設定します。デフォルト値:0。

    ALIYUN_COM_GPU_HIGH_PRIO 変数が 1 に設定されている場合、コンテナは prio_ratio パラメーターで指定された最大のコンピューティング能力をプリエンプトできます。

    説明

    この機能は、ワークロードのコロケーションシナリオ向けです。

    id

    読み取り専用

    コンテナの ID。

    memsize

    読み取り/書き込み

    コンテナ内の GPU メモリのサイズを指定します。cGPU は ALIYUN_COM_GPU_MEM_DEV 変数に基づいてこの値を自動的に設定します。

    meminfo

    読み取り専用

    残りの GPU メモリ、GPU を使用しているプロセスのプロセス ID (PID)、およびその GPU メモリ使用量など、GPU メモリに関する情報を提供します。以下は出力の例です:

    Free: 6730809344
    PID: 19772 Mem: 200278016

    weight

    読み取り/書き込み

    コンピューティング能力の割り当てに対するコンテナの重みを指定します。デフォルト値:1。実行中のすべてのコンテナの重みの合計は、max_inst 以下である必要があります。

  4. (オプション) 次のコマンドを実行して cGPU を設定します。

    procfs ノードを使用して GPU インスタンスでコマンドを実行し、スケジューリングポリシーの切り替え、重みの変更、その他の操作を実行できます。次の表にコマンドの例を示します。

    コマンド

    効果

    echo 2 > /proc/cgpu_km/0/policy

    スケジューリングポリシーを重み付けプリエンプティブスケジューリングに切り替えます。

    cat /proc/cgpu_km/0/free_weight

    GPU 上で利用可能な重みを表示します。free_weight=0 の場合、新しく作成されたコンテナには重み 0 が割り当てられます。コンテナは GPU のコンピューティング能力を取得できません。

    cat /proc/cgpu_km/0/$dockerid/weight

    指定されたコンテナの重みを表示します。

    echo 4 > /proc/cgpu_km/0/$dockerid/weight

    コンテナのコンピューティング能力の重みを変更します。

cgpu-smi を使用した cGPU コンテナの表示

cgpu-smi を使用して、コンテナ ID、GPU 使用率、コンピューティング能力の制限、使用済み GPU メモリ、割り当てられた合計 GPU メモリなど、cGPU コンテナに関する情報を表示できます。

説明

cgpu-smi は cGPU のモニタリング例です。Kubernetes (k8s) にアプリケーションをデプロイする場合、cgpu-smi ツールを使用して、またはそれを応用してカスタム統合を行うことができます。

|  Alibaba Cloud cGPU1.0                cGPU Version:  1.0.2
+---+----------------+----------+----------------+-----------------------+
|GPU|       pod      | highprio | GPU-Util/Limit | GPU Memory Usage/Total|
+===+================+==========+================+=======================+
|  0| 7db8fff70a0d   |    0     |     41/ 50     |           9459/11463  |
|  0| 91b1e19795ee   |    0     |     30/ 50     |           9457/11463  |
+---+----------------+----------+----------------+-----------------------+

cGPU のアップグレードまたはアンインストール

cGPU のアップグレード

cGPU は、コールドアップデートとホットアップデートの両方をサポートしています。

  • コールドアップデート

    Docker が cGPU を使用していないときにコールドアップデートを実行するには:

    1. 実行中のすべてのコンテナを停止します:

      sudo docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2) 
    2. cGPU を最新バージョンにアップグレードします:

      sudo sh upgrade.sh
  • ホットアップデート

    Docker が cGPU を使用している場合は、cGPU カーネルドライバーのホットアップデートを実行できます。ただし、このアップデート方法はバージョンによる制限があります。サポートが必要な場合は、Alibaba Cloud のアフターサービスサポートチームにお問い合わせください。

cGPU のアンインストール

ノードから以前のバージョンの cGPU をアンインストールするには、「ノードの cGPU バージョンのアップグレード」をご参照ください。

cGPU の使用例

コンピューティング能力のスケジューリング

cGPU が cgpu_km モジュールをロードすると、コンテナの最大数 (max_inst) に基づいて、各 GPU のタイムスライス (ミリ秒単位) を設定します。このトピックでは、これらのタイムスライスをスライス 1、スライス 2、スライス N と呼び、コンテナに GPU のコンピューティング能力を割り当てるために使用されます。以下の例では、さまざまなスケジューリングポリシーを示します。

  • フェアシェアスケジューリング (policy=0)

    コンテナを作成すると、cGPU は各コンテナにタイムスライスを割り当てます。スケジューラはスライス 1 から開始し、1 タイムスライス分のタスクを物理 GPU に送信してから、次のタイムスライスに切り替わります。各コンテナは、次の図に示すように、1/max_inst の等しいコンピューティング能力を受け取ります。

  • プリエンプティブスケジューリング (policy=1)

    コンテナを作成すると、cGPU はそれらにタイムスライスを割り当てます。スケジューラはスライス 1 から開始します。ただし、コンテナ内のプロセスが GPU にアクセスしていない場合、スケジューラはそのコンテナのタイムスライスをスキップして次に進みます。

    例:

    1. 単一のコンテナ Docker 1 を作成し、スライス 1 が割り当てられます。Docker 1 で 2 つの TensorFlow プロセスを実行すると、コンテナは物理 GPU 全体のコンピューティング能力を使用できます。

    2. 次に、2 番目のコンテナ Docker 2 を作成し、スライス 2 が割り当てられます。Docker 2 内のプロセスが GPU にアクセスしていない場合、スケジューラはそのタイムスライス (スライス 2) をスキップします。

    3. Docker 2 内のプロセスが GPU へのアクセスを開始すると、スライス 1 とスライス 2 の両方がスケジューリング周期に含まれます。次の図に示すように、Docker 1 と Docker 2 はそれぞれ、物理 GPU のコンピューティング能力の最大半分を受け取ることができます。

  • 重み付けプリエンプティブスケジューリング (policy=2)

    コンテナを作成するときに ALIYUN_COM_GPU_SCHD_WEIGHT を 1 より大きい値に設定すると、cGPU はこのポリシーを自動的に使用します。cGPU は、物理 GPU のコンピューティング能力を max_inst 個の部分に分割します。ALIYUN_COM_GPU_SCHD_WEIGHT が 1 より大きい場合、cGPU は複数のタイムスライスを組み合わせて、そのコンテナ用のより大きなスライスを作成します。

    設定例:

    • Docker 1:ALIYUN_COM_GPU_SCHD_WEIGHT=m

    • Docker 2:ALIYUN_COM_GPU_SCHD_WEIGHT=n

    スケジューリングの動作:

    • Docker 1 のみが実行されている場合、物理 GPU 全体のコンピューティング能力をプリエンプトします。

    • Docker 1 と Docker 2 の両方が実行されている場合、それらは理論的に m:n の比率でコンピューティング能力を受け取ります。プリエンプティブスケジューリングとは異なり、Docker 2 内のプロセスが GPU を使用していなくても、Docker 2 は n 個のタイムスライスを消費します。

      説明

      m:n の比率が 2:1 の場合と 8:4 の場合では、パフォーマンスが異なります。2:1 の場合、1 秒あたりのタイムスライス切り替え回数は 8:4 の場合の 4 倍になります。

    重み付けプリエンプティブスケジューリングは、コンテナが使用できる GPU コンピューティング能力に理論上の上限を設定します。ただし、NVIDIA V100 のような強力な GPU の場合、短い計算タスクは単一のタイムスライス内で完了する可能性があります。このシナリオでは、m:n の比率が 8:4 の場合、残りのタイムスライスで GPU はアイドル状態になり、制限は効果がなくなります。

  • 固定スケジューリング (policy=3)

    ALIYUN_COM_GPU_SCHD_WEIGHTmax_inst の比率を指定することで、固定された割合のコンピューティング能力を割り当てることができます。

  • ソフトスケジューリング (policy=4)

    コンテナを作成すると、cGPU はそれらにタイムスライスを割り当てます。このポリシーは、プリエンプティブスケジューリングよりも弱い隔離を提供します。詳細については、「プリエンプティブスケジューリング (policy=1)」をご参照ください。

  • ネイティブスケジューリング (policy=5)

    このポリシーは GPU メモリのみを隔離し、NVIDIA GPU ドライバーのネイティブスケジューリングメソッドに依存します。

コンピューティング能力のスケジューリングポリシーは、Tesla P4、Tesla P100、Tesla T4、Tesla V100、Tesla A10、 を含む、すべての Alibaba Cloud のヘテロジニアス GPU インスタンスとその NVIDIA GPU をサポートしています。以下のテストでは、Tesla A10 GPU を搭載した単一 GPU インスタンスを共有する 2 つのコンテナを使用します。コンテナ間のコンピューティング能力の比率は 1:2 で、GPU メモリは均等に分割され、各コンテナは 12 GB を受け取ります。

説明

以下の性能テストの結果はラボ環境のものであり、参考用です。

  • テスト 1:さまざまな batch_size 値で FP16 精度を使用して TensorFlow フレームワークでトレーニングされた ResNet50 モデルのパフォーマンスを比較します。結果は以下のとおりです:

    フレームワーク

    モデル

    batch_size

    精度

    イメージ/秒 (Docker 1)

    イメージ/秒 (Docker 2)

    TensorFlow

    ResNet50

    16

    FP16

    151

    307

    TensorFlow

    ResNet50

    32

    FP16

    204

    418

    TensorFlow

    ResNet50

    64

    FP16

    247

    503

    TensorFlow

    ResNet50

    128

    FP16

    257

    516

    111

  • テスト 2:さまざまな batch_size 値で FP16 精度を使用して TensorRT フレームワークでトレーニングされた ResNet50 モデルのパフォーマンスを比較します。結果は以下のとおりです:

    フレームワーク

    モデル

    batch_size

    精度

    イメージ/秒 (Docker 1)

    イメージ/秒 (Docker 2)

    TensorRT

    ResNet50

    1

    FP16

    568.05

    1132.08

    TensorRT

    ResNet50

    2

    FP16

    940.36

    1884.12

    TensorRT

    ResNet50

    4

    FP16

    1304.03

    2571.91

    TensorRT

    ResNet50

    8

    FP16

    1586.87

    3055.66

    TensorRT

    ResNet50

    16

    FP16

    1783.91

    3381.72

    TensorRT

    ResNet50

    32

    FP16

    1989.28

    3695.88

    TensorRT

    ResNet50

    64

    FP16

    2105.81

    3889.35

    TensorRT

    ResNet50

    128

    FP16

    2205.25

    3901.94

    2021-11-26_10-53-29

マルチ GPU メモリパーティショニング

この例では、4 つの GPU にまたがってメモリをパーティショニングする方法を示します。GPU 0 に 3 GB、GPU 1 に 4 GB、GPU 2 に 5 GB、GPU 3 に 6 GB を割り当てます。サンプルコードは次のとおりです:

docker run -d -t --runtime=nvidia  --name gpu_test0123 --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 -v /mnt:/mnt -e ALIYUN_COM_GPU_MEM_CONTAINER=3,4,5,6 -e ALIYUN_COM_GPU_MEM_DEV=23 -e NVIDIA_VISIBLE_DEVICES=0,1,2,3 nvcr.io/nvidia/tensorflow:21.03-tf1-py3
docker exec -i gpu_test0123   nvidia-smi

コマンドの出力には、4 つの GPU のメモリ詳細が表示されます。

NVIDIA-SMI 510.39        Driver Version: 510.39       CUDA Version: 11.6
-------------------------------+----------------------+----------------------+
 GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
 Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
                               |                      |               MIG M. |
===============================+======================+======================+
   0  NVIDIA A10           On  | 00000000:61:00.0 Off |                    0 |
  0%   31C    P8    15W / 150W |      0MiB /  3003MiB |      0%      Default |
                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
   1  NVIDIA A10           On  | 00000000:6B:00.0 Off |                    0 |
  0%   31C    P8    16W / 150W |      0MiB /  4004MiB |      0%      Default |
                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
   2  NVIDIA A10           On  | 00000000:CA:00.0 Off |                    0 |
  0%   30C    P8    15W / 150W |      0MiB /  5006MiB |      0%      Default |
                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
   3  NVIDIA A10           On  | 00000000:E3:00.0 Off |                    0 |
  0%   31C    P8    16W / 150W |      0MiB /  6007MiB |      0%      Default |
                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

次の表では、マルチ GPU 構成における ALIYUN_COM_GPU_MEM_CONTAINER パラメーターについて説明します。

説明

ALIYUN_COM_GPU_MEM_CONTAINER=3

4 つすべての GPU の GPU メモリを 3 GB に設定します。

ALIYUN_COM_GPU_MEM_CONTAINER=3,1

4 つの GPU の GPU メモリをそれぞれ 3 GB、1 GB、1 GB、1 GB に設定します。

ALIYUN_COM_GPU_MEM_CONTAINER=3,4,5,6

4 つの GPU の GPU メモリをそれぞれ 3 GB、4 GB、5 GB、6 GB に設定します。

ALIYUN_COM_GPU_MEM_CONTAINER が指定されていない

cGPU を無効にします。

ALIYUN_COM_GPU_MEM_CONTAINER=0

ALIYUN_COM_GPU_MEM_CONTAINER=1,0,0