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
Jalankan perintah berikut untuk memeriksa status berbagi GPU di klaster Anda:
kubectl inspect cgpuOutput 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%)CatatanUntuk memeriksa informasi rinci tentang berbagi GPU, jalankan perintah
kubectl inspect cgpu -d.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: NeverCatatanaliyun.com/gpu-mem: Menentukan jumlah memori GPU yang diminta oleh job.
Untuk menonaktifkan fitur isolasi memori cGPU, atur CGPU_DISABLE ke true.
Jalankan perintah berikut untuk memeriksa hasil penjadwalan GPU yang dilakukan oleh cGPU:
kubectl inspect cgpuOutput 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=1Output 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-smiOutput 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.