All Products
Search
Document Center

Container Service for Kubernetes:Aktifkan Berbagi Multi-GPU dengan Penjadwalan GPU Bersama

Last Updated:Jun 24, 2026

Saat mengembangkan model, Anda mungkin memerlukan beberapa kartu GPU tanpa membutuhkan sumber daya dalam jumlah besar. Mengalokasikan satu kartu GPU penuh untuk setiap platform pengembangan dapat menyebabkan pemborosan sumber daya. Fitur berbagi multi-GPU memungkinkan satu Pod mengambil alokasi memori GPU dari beberapa kartu tanpa menduduki salah satunya secara eksklusif. Kluster ACK Pro mendukung fitur ini dengan isolasi memori GPU untuk pemanfaatan sumber daya yang lebih efisien.

Prasyarat

Pastikan hal-hal berikut:

Batasan

Berbagi multi-GPU hanya mendukung isolasi memori GPU dengan berbagi daya komputasi, bukan alokasi daya komputasi.

Cara kerja

Berbagi multi-GPU memungkinkan satu Pod meminta memori GPU dari beberapa kartu, dengan setiap kartu memberikan kontribusi yang sama.

Mode Deskripsi
Single-GPU sharing Sebuah Pod menggunakan sebagian sumber daya dari satu kartu GPU.
Multi-GPU sharing Sebuah Pod mencakup beberapa kartu GPU, dengan setiap kartu memberikan kontribusi memori GPU yang sama.

Rumus alokasi: Jika sebuah Pod meminta N GiB dari M kartu GPU, setiap kartu mengalokasikan N/M GiB.

Sebagai contoh, sebuah Pod yang meminta 8 GiB dari 2 kartu akan menerima 4 GiB dari masing-masing kartu.

Batasan:

  • N/M harus berupa bilangan bulat.

  • Semua M kartu GPU harus berada pada node Kubernetes yang sama.

image

Konfigurasikan berbagi multi-GPU

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Workloads > Jobs.

  3. Di halaman Jobs, klik Create from YAML. Tempel YAML berikut ke dalam Template, lalu klik Create.

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: tensorflow-mnist-multigpu
    spec:
      parallelism: 1
      template:
        metadata:
          labels:
            app: tensorflow-mnist-multigpu
            aliyun.com/gpu-count: "2"    # Jumlah kartu GPU yang akan digunakan
        spec:
          containers:
          - name: tensorflow-mnist-multigpu
            image: registry.cn-beijing.aliyuncs.com/ai-samples/gpushare-sample:tensorflow-1.5
            command:
            - python
            - tensorflow-sample-code/tfjob/docker/mnist/main.py
            - --max_steps=100000
            - --data_dir=tensorflow-sample-code/data
            resources:
              limits:
                aliyun.com/gpu-mem: 8    # Total memori GPU dalam GiB dari semua kartu
            workingDir: /root
          restartPolicy: Never

    Parameter utama:

    Parameter Tipe Deskripsi
    aliyun.com/gpu-count String (label Pod) Jumlah kartu GPU. Diatur di metadata.labels. Contoh: "2" meminta memori dari 2 kartu.
    aliyun.com/gpu-mem Integer (batas sumber daya) Total memori GPU (GiB) dari semua kartu. Diatur di resources.limits. Contoh: 8 berarti total 8 GiB — 4 GiB per kartu.

Verifikasi isolasi memori GPU

Setelah Pekerjaan dimulai, verifikasi bahwa Pod hanya dapat mengakses memori GPU yang dialokasikan untuknya.

  1. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Workloads > Pods.

  2. Untuk Pod tersebut (misalnya, tensorflow-mnist-multigpu-***), klik Actions > Terminal dan jalankan:

    nvidia-smi

    Output yang diharapkan:

    Wed Jun 14 03:24:14 2023
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 470.161.03   Driver Version: 470.161.03   CUDA Version: 11.4     |
    |-------------------------------+----------------------+----------------------+
    | 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  Tesla V100-SXM2...  On   | 00000000:00:09.0 Off |                    0 |
    | N/A   38C    P0    61W / 300W |    569MiB /  4309MiB |      2%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    |   1  Tesla V100-SXM2...  On   | 00000000:00:0A.0 Off |                    0 |
    | N/A   36C    P0    61W / 300W |    381MiB /  4309MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    +-----------------------------------------------------------------------------+

    Konfirmasi hal berikut dalam output:

    • Dua kartu GPU tercantum (GPU 0 dan GPU 1), sesuai dengan aliyun.com/gpu-count: "2".

    • Setiap kartu menampilkan total memori 4.309 MiB — yaitu 4 GiB per kartu, bukan 16.160 MiB fisik — yang mengonfirmasi isolasi memori GPU.

  3. Untuk Pod yang sama, klik Actions > Logs. Konfirmasi bahwa output berikut muncul dua kali (sekali per kartu):

    totalMemory: 4.21GiB freeMemory: 3.91GiB

    Nilai totalMemory sekitar 4 GiB per kartu — bukan 16.160 MiB fisik — mengonfirmasi bahwa isolasi memori GPU aktif.