全部产品
Search
文档中心

Container Service for Kubernetes:Nonaktifkan fitur isolasi memori cGPU

更新时间:Jun 27, 2025

Topik ini memberikan panduan tentang cara menonaktifkan fitur isolasi memori cGPU untuk klaster Container Service for Kubernetes (ACK).

Skenario

Panduan ini berlaku untuk klaster ACK khusus dan klaster ACK Pro yang memiliki fitur isolasi memori cGPU diaktifkan.

Prasyarat

Komponen ack-cgpu telah terpasang di klaster Anda. Untuk informasi lebih lanjut, lihat Pasang ack-cgpu atau Pasang dan Gunakan ack-ai-installer dan Alat Inspeksi GPU.

Prosedur

  1. Jalankan perintah berikut untuk memeriksa status berbagi GPU di klaster Anda:

    kubectl inspect cgpu

    Output yang Diharapkan:

    NAMA                      IPADDRESS      GPU0(Dialokasikan/Total)  Memori GPU(GiB)
    cn-beijing.192.16x.x.xx3  192.16x.x.xx3  0/15                   0/15
    cn-beijing.192.16x.x.xx1  192.16x.x.xx1  0/15                   0/15
    cn-beijing.192.16x.x.xx2  192.16x.x.xx2  0/15                   0/15
    ---------------------------------------------------------------------
    Dialokasikan/Total Memori GPU Di Klaster:
    0/45 (0%)
    Catatan

    Untuk memeriksa informasi rinci tentang berbagi GPU, jalankan perintah kubectl inspect cgpu -d.

  2. Gunakan template YAML berikut untuk membuat kontainer dengan fitur berbagi GPU diaktifkan dan isolasi memori dinonaktifkan:

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: disable-cgpu
    spec:
      parallelism: 1
      template:
        metadata:
          labels:
            app: disable-cgpu
        spec:
          containers:
          - name: disable-cgpu
            image: registry.cn-hangzhou.aliyuncs.com/ai-samples/gpushare-sample:tensorflow-1.5
            env:
            - name: CGPU_DISABLE # Nonaktifkan fitur isolasi memori cGPU. 
              value: "true"
            command:
            - python
            - tensorflow-sample-code/tfjob/docker/mnist/main.py
            - --max_steps=100000
            - --data_dir=tensorflow-sample-code/data
            resources:
              limits:
                # Pod meminta total 3 GiB memori GPU. 
                aliyun.com/gpu-mem: 3
            workingDir: /root
          restartPolicy: Never
    Catatan
    • aliyun.com/gpu-mem: Menentukan jumlah memori GPU yang diminta oleh job.

    • Untuk menonaktifkan fitur isolasi memori cGPU, atur CGPU_DISABLE ke true.

  3. Jalankan perintah berikut untuk memeriksa hasil penjadwalan GPU yang dilakukan oleh cGPU:

    kubectl inspect cgpu

    Output yang Diharapkan:

    NAMA                      IPADDRESS      GPU0(Dialokasikan/Total)  Memori GPU(GiB)
    cn-beijing.192.16x.x.xx1  192.16x.x.xx1  0/15                   0/15
    cn-beijing.192.16x.x.xx2  192.16x.x.xx2  0/15                   0/15
    cn-beijing.192.16x.x.xx3  192.16x.x.xx3  3/15                   3/15
    ---------------------------------------------------------------------
    Dialokasikan/Total Memori GPU Di Klaster:
    3/45 (6%)

    Kontainer baru dibuat dialokasikan dengan 3 GiB memori GPU dari node cn-beijing.192.16x.x.xx3.

Periksa hasilnya

Anda dapat menggunakan salah satu metode berikut untuk memeriksa apakah fitur isolasi memori cGPU dinonaktifkan:

  • Metode 1: Jalankan perintah berikut untuk memeriksa log aplikasi:

    kubectl logs disable-cgpu-xxxx --tail=1

    Output yang Diharapkan:

    2020-08-25 08:14:54.927965: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 15024 MB memory) -> physical GPU (device: 0, name: Tesla V100-SXM2-16GB, pci bus id: 0000:00:07.0, compute capability: 7.0)

    Entri log yang dikembalikan menunjukkan bahwa memori GPU yang dapat digunakan oleh aplikasi dalam kontainer adalah 15.024 MiB. Ini menunjukkan bahwa fitur isolasi memori cGPU dinonaktifkan. Jika fitur isolasi memori cGPU diaktifkan, jumlah memori GPU yang dapat ditemukan oleh aplikasi dalam kontainer adalah 3 GiB.

  • Metode 2: Jalankan perintah berikut untuk masuk ke kontainer dan melihat jumlah memori GPU yang dialokasikan ke kontainer:

    kubectl exec disable-cgpu-xxxx nvidia-smi

    Output yang Diharapkan:

    Sel Aug 25 08:23:33 2020
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 418.87.01    Driver Version: 418.87.01    CUDA Version: 10.1     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Nama        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Kipas  Suhu  Perf  Pwr:Penggunaan/Kapasitas|         Penggunaan-Memori | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla V100-SXM2...  Mati  | 00000000:00:07.0 Mati |                    0 |
    | N/A   33C    P0    55W / 300W |  15453MiB / 16130MiB |      1%      Default |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Proses:                                                       Memori GPU |
    |  GPU       PID   Tipe   Nama Proses                             Penggunaan      |
    |=============================================================================|
    +-----------------------------------------------------------------------------+

    Output menunjukkan bahwa kapasitas memori GPU host adalah 16.130 MiB dan jumlah memori GPU yang dialokasikan ke kontainer adalah 15.453 MiB. Ini menunjukkan bahwa fitur isolasi memori cGPU dinonaktifkan. Jika fitur isolasi memori cGPU diaktifkan, jumlah memori GPU yang dialokasikan ke kontainer adalah 3 GiB.