全部产品
Search
文档中心

:Konfigurasikan berbagi GPU tanpa isolasi memori GPU

更新时间:Jul 06, 2025

Dalam beberapa skenario, Anda mungkin memerlukan berbagi GPU tanpa isolasi memori GPU. Sebagai contoh, aplikasi seperti Java memungkinkan Anda menentukan jumlah maksimum Memori GPU yang dapat digunakan. Jika isolasi memori GPU diaktifkan, pengecualian dapat terjadi. Untuk mengatasi masalah ini, Anda dapat menonaktifkan isolasi memori GPU pada node yang mendukung berbagi GPU. Topik ini menjelaskan cara mengonfigurasi berbagi GPU tanpa isolasi memori GPU.

Prasyarat

Langkah 1: Buat kumpulan node

Ikuti langkah-langkah berikut untuk membuat kumpulan node dengan isolasi memori GPU dinonaktifkan.

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

  2. Di halaman Clusters, klik nama klaster yang ingin Anda kelola dan pilih Nodes > Node Pools di panel navigasi sisi kiri.

  3. Di halaman Node Pools, klik Create Node Pool. Di kotak dialog Create Node Pool, konfigurasikan parameter dan klik Confirm Order.

    Tabel berikut menjelaskan parameter utama. Untuk informasi lebih lanjut, lihat Buat Kumpulan Node.

Langkah 2: Kirim pekerjaan

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

  2. Di halaman Clusters, temukan klaster yang Anda inginkan dan klik namanya. Di panel sisi kiri, pilih Workloads > Jobs.

  3. Di halaman Jobs, klik Create from YAML. Di editor kode pada halaman Create, tempel konten berikut dan klik Create.

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: tensorflow-mnist-share
    spec:
      parallelism: 1
      template:
        metadata:
          labels:
            app: tensorflow-mnist-share
        spec:
          containers:
          - name: tensorflow-mnist-share
            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: 4 # Minta 4 GiB memori GPU.
            workingDir: /root
          restartPolicy: Never

    Deskripsi kode:

    • Konten YAML mendefinisikan pekerjaan TensorFlow. Pekerjaan ini membuat satu pod dan pod tersebut meminta 4 GiB memori GPU.

    • Anda dapat mengatur aliyun.com/gpu-mem: 4 di bawah resources.limits untuk meminta 4 GiB memori GPU.

Langkah 3: Verifikasi konfigurasi

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

  2. Di halaman Clusters, temukan klaster yang Anda inginkan dan klik namanya. Di panel sisi kiri, pilih Workloads > Pods.

  3. Di halaman Pods, pilih Terminal > tensorflow-mnist-share di kolom Actions dari pod yang Anda buat di Langkah 2 untuk masuk ke pod.

  4. Jalankan perintah berikut untuk menanyakan informasi memori GPU:

    nvidia-smi

    Output yang Diharapkan:

    Rab Jun 14 06:45:56 2023
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 515.105.01   Driver Version: 515.105.01   CUDA Version: 11.7     |
    |-------------------------------+----------------------+----------------------+
    | 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   35C    P0    59W / 300W |    334MiB / 16384MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    +-----------------------------------------------------------------------------+

    Output menunjukkan bahwa GPU yang dialokasikan ke pod menyediakan 16.384 MiB memori. Dalam contoh ini, model GPU adalah V100. Jika isolasi memori GPU diaktifkan, nilainya sama dengan jumlah memori yang diminta oleh pod, yaitu 4 GiB. Ini menunjukkan bahwa konfigurasi sedang berlaku.

    Aplikasi perlu membaca informasi alokasi memori GPU dari variabel lingkungan berikut.

    ALIYUN_COM_GPU_MEM_CONTAINER=4 # Memori GPU yang tersedia untuk pod.
    ALIYUN_COM_GPU_MEM_DEV=16 # Total memori GPU yang disediakan oleh setiap GPU.

    Jika aplikasi memerlukan rasio memori GPU yang tersedia, Anda dapat menggunakan rumus berikut untuk menghitung rasio memori GPU yang digunakan oleh aplikasi terhadap total memori GPU yang disediakan oleh GPU berdasarkan variabel lingkungan sebelumnya:

    persentase = ALIYUN_COM_GPU_MEM_CONTAINER / ALIYUN_COM_GPU_MEM_DEV = 4 / 16 = 0,25

Referensi