All Products
Search
Document Center

:Menjalankan komponen ack-cgpu

Last Updated:Apr 11, 2026

Topik ini menjelaskan cara menggunakan fitur cGPU di kluster GPU khusus setelah menginstal komponen ack-cgpu.

Prasyarat

Pastikan komponen ack-cgpu telah diinstal. Untuk informasi selengkapnya, lihat Instal komponen ack-cgpu.

Catatan penggunaan

Untuk node GPU yang dikelola di kluster Container Service for Kubernetes (ACK), perhatikan hal-hal berikut saat meminta dan menggunakan resource GPU untuk aplikasi:

  • Jangan menjalankan aplikasi berat GPU secara langsung di node.

  • Jangan menggunakan tool seperti Docker, Podman, atau nerdctl untuk membuat kontainer dan meminta resource GPU. Misalnya, hindari menjalankan perintah docker run --gpus all atau docker run -e NVIDIA_VISIBLE_DEVICES=all serta menjalankan aplikasi berat GPU.

  • Jangan menambahkan variabel lingkungan NVIDIA_VISIBLE_DEVICES=all atau NVIDIA_VISIBLE_DEVICES=<GPU ID> ke bagian env dalam file YAML Pod. Jangan gunakan variabel lingkungan NVIDIA_VISIBLE_DEVICES untuk meminta resource GPU bagi Pod dan menjalankan aplikasi berat GPU.

  • Jangan mengatur NVIDIA_VISIBLE_DEVICES=all dan menjalankan aplikasi berat GPU saat membangun gambar kontainer jika variabel lingkungan NVIDIA_VISIBLE_DEVICES tidak ditentukan dalam file YAML Pod.

  • Jangan menambahkan privileged: true ke bagian securityContext dalam file YAML Pod dan menjalankan aplikasi berat GPU.

Penggunaan metode di atas untuk meminta resource GPU dapat menyebabkan risiko berikut:

  • Jika Anda menggunakan salah satu metode tersebut untuk meminta resource GPU di sebuah node tetapi tidak mencatat detailnya dalam buku besar resource perangkat (device resource ledger) penjadwal (scheduler), alokasi resource GPU aktual mungkin tidak sesuai dengan catatan dalam buku besar tersebut. Akibatnya, penjadwal tetap dapat menjadwalkan Pod lain yang meminta resource GPU ke node yang sama, sehingga beberapa aplikasi bersaing untuk resource GPU yang sama dan sebagian mungkin gagal berjalan karena kekurangan resource.

  • Penggunaan metode tersebut juga dapat menyebabkan masalah tak terduga lainnya, seperti masalah yang dilaporkan oleh komunitas NVIDIA.

Prosedur

  1. Login ke ACK console. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster target. Di panel navigasi sebelah kiri, pilih Nodes > Node Pools.

  3. Login ke node master target dan jalankan perintah berikut untuk mengkueri kemampuan cGPU kluster.

    Catatan
    kubectl inspect cgpu

    Output yang diharapkan:

    NAME                     IPADDRESS    GPU0(Allocated/Total)  GPU1(Allocated/Total)  GPU Memory(GiB)
    cn-beijing.192.168.XX.XX   192.168.XX.XX  0/7                    0/7                    0/14
    ---------------------------------------------------------------------
    Allocated/Total GPU Memory In Cluster:
    0/14 (0%)
    Catatan

    Untuk mengkueri informasi detail tentang kemampuan cGPU, jalankan perintah kubectl inspect cgpu -d.

  4. Di panel navigasi sebelah kiri, pilih Workloads > Jobs. Pada halaman Jobs, klik Create from YAML di pojok kanan atas. Pada halaman yang muncul, pilih namespace dan pilih templat dari daftar drop-down Sample Template atau gunakan templat kustom. Lalu, masukkan contoh YAML berikut ke editor kode dan klik Create.

    apiVersion: v1
    kind: Pod
    metadata:
      name: gpu-share-sample
    spec:
      containers:
      - name: gpu-share-sample
        image: registry.cn-hangzhou.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:
            # Satuan: GiB. Pod ini meminta total 3 GiB memori GPU.
            aliyun.com/gpu-mem: 3 # Tentukan jumlah memori GPU.
        workingDir: /root                    
  5. Di node master, jalankan kembali perintah berikut untuk memeriksa penggunaan memori GPU di kluster.

    kubectl inspect cgpu

    Output yang diharapkan:

    NAME                      IPADDRESS      GPU0(Allocated/Total)  GPU Memory(GiB)
    cn-beijing.192.168.XX.XX  192.168.XX.XX  3/14                   3/14
    ---------------------------------------------------------------------
    Allocated/Total GPU Memory In Cluster:
    3/14 (21%)

    Output tersebut menunjukkan bahwa node cn-beijing.192.168.XX.XX memiliki total 14 GiB memori GPU, dan 3 GiB telah dialokasikan.

Verifikasi hasil

Untuk memverifikasi bahwa isolasi memori GPU telah diaktifkan pada node, ikuti langkah-langkah berikut.

  1. Login ke node master target.

  2. Jalankan perintah berikut untuk melihat log aplikasi dan konfirmasi bahwa isolasi memori cGPU telah diaktifkan.

    kubectl logs gpu-share-sample --tail=1

    Output yang diharapkan:

    2023-08-07 09:08:13.931003: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1326] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 2832 MB memory) -> physical GPU (device: 0, name: Tesla T4, pci bus id: 0000:00:07.0, compute capability: 7.5)

    Output tersebut menunjukkan bahwa kontainer meminta 2.832 MB memori GPU.

  3. Jalankan perintah berikut untuk login ke kontainer dan melihat total jumlah memori GPU yang dialokasikan kepadanya.

    kubectl exec -it gpu-share-sample nvidia-smi

    Output yang diharapkan:

    Mon Aug 7 08:52:18 2023
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 418.87.01    Driver Version: 418.87.01    CUDA Version: 10.1     |
    |-------------------------------+----------------------+----------------------+
    | 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:07.0 Off |                    0 |
    | N/A   41C    P0    26W /  70W |   3043MiB /  3231MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    +-----------------------------------------------------------------------------+

    Output tersebut menunjukkan bahwa total jumlah memori GPU yang dialokasikan ke kontainer ini adalah 3.231 MiB.

  4. Login ke node GPU tempat aplikasi contoh dijalankan dan lihat total memori GPU node tersebut.

    nvidia-smi

    Output yang diharapkan:

    Mon Aug  7 09:18:26 2023 
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 418.87.01    Driver Version: 418.87.01    CUDA Version: 10.1     |
    |-------------------------------+----------------------+----------------------+
    | 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:07.0 Off |                    0 |
    | N/A   40C    P0    26W /  70W |   3053MiB / 15079MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |    0      8796      C   python3                                     3043MiB |
    +-----------------------------------------------------------------------------+
    
                            

    Output tersebut menunjukkan bahwa node host memiliki total 15.079 MiB memori GPU, dengan 3.053 MiB dialokasikan ke kontainer.

Topik terkait