cGPU est un module Alibaba Cloud qui isole la mémoire et la puissance de calcul des GPU, permettant à plusieurs conteneurs de partager un même GPU sans interférence. Cette rubrique présente les exigences de compatibilité et les problèmes connus à vérifier avant le déploiement ou la mise à niveau de cGPU.
Prérequis
L'isolation cGPU est activée sur un nœud GPU si celui-ci comporte l'un des libellés suivants :
ack.node.gpu.schedule=cgpuack.node.gpu.schedule=core_memcgpu=true
Pour connaître la correspondance des versions entre les composants ack-ai-installer et cGPU, consultez les notes de version d'ack-ai-installer.
Pour plus d'informations sur cGPU, consultez la documentation officielle NVIDIA.
Limites
Nombre maximal de pods par GPU : cGPU prend en charge jusqu'à 20 pods sur un seul GPU. Les pods planifiés au-delà de cette limite ne peuvent pas s'exécuter.
Compatibilité avec le système d'exploitation optimisé pour les conteneurs : Les versions de cGPU antérieures ou égales à 1.5.18 peuvent empêcher le démarrage du premier pod sur un nœud cGPU lors de l'utilisation d'une image de système d'exploitation optimisé pour les conteneurs Alibaba Cloud. Mettez à niveau vers
ack-ai-installer ≥ 1.12.6pour résoudre ce problème.Risque de panique du noyau : Les versions de cGPU antérieures ou égales à 1.5.7 présentent un interblocage connu dans le pilote du noyau, provoquant des paniques du noyau Linux. Mettez à niveau vers
cGPU ≥ 1.5.10.
Compatibilité des versions de cGPU
Compatibilité avec le pilote NVIDIA
|
Version de cGPU |
Pilotes NVIDIA pris en charge |
Non pris en charge |
|
1.5.3 – 1.5.20 |
Séries 460, 470, 510, 515, 525, 535, 550, 560, 565, 570, 575 |
— |
|
1.0.5 – 1.5.2 |
460 ; 470 ≤ 470.161.03 ; 510 ≤ 510.108.03 ; 515 ≤ 515.86.01 ; 525 ≤ 525.89.03 |
Séries 535, 550, 560, 565, 570, 575 |
|
0.8.13 – 1.0.3 |
460 ; 470 ≤ 470.161.03 |
Séries 510, 515, 525, 535, 550, 560, 565, 570, 575 |
Compatibilité avec les familles d'instances
|
Version de cGPU |
Familles d'instances prises en charge |
Non pris en charge |
|
1.5.19 – 1.5.20 |
gn6i/gn6e/gn6v/gn6t/ebmgn6i/ebmgn6t/ebmgn6e ; gn7i/gn7/gn7e/ebmgn7i/ebmgn7e ; gn8t/ebmgn8t ; gn8is/gn8v/ebmgn8is/ebmgn8v ; gn8ia/ebmgn8ia ; ebmgn9t |
— |
|
1.5.9 – 1.5.18 |
gn6i/gn6e/gn6v/gn6t/ebmgn6i/ebmgn6t/ebmgn6e ; gn7i/gn7/gn7e/ebmgn7i/ebmgn7e ; gn8t/ebmgn8t ; gn8is/gn8v/ebmgn8is/ebmgn8v ; gn8ia/ebmgn8ia |
ebmgn9t |
|
1.5.7 – 1.5.8 |
gn6i/gn6e/gn6v/gn6t/ebmgn6i/ebmgn6t/ebmgn6e ; gn7i/gn7/gn7e/ebmgn7i/ebmgn7e ; gn8t/ebmgn8t ; gn8is/gn8v/ebmgn8is/ebmgn8v |
gn8ia/ebmgn8ia ; ebmgn9t |
|
1.5.5 – 1.5.6 |
gn6i/gn6e/gn6v/gn6t/ebmgn6i/ebmgn6t/ebmgn6e ; gn7i/gn7/gn7e/ebmgn7i/ebmgn7e ; gn8t/ebmgn8t |
gn8is/gn8v/ebmgn8is/ebmgn8v ; gn8ia/ebmgn8ia ; ebmgn9t |
|
1.0.3 – 1.5.3 |
gn6i/gn6e/gn6v/gn6t/ebmgn6i/ebmgn6t/ebmgn6e ; gn7i/gn7/gn7e/ebmgn7i/ebmgn7e |
gn8t/ebmgn8t ; gn8is/gn8v/ebmgn8is/ebmgn8v ; gn8ia/ebmgn8ia ; ebmgn9t |
|
0.8.13 – 0.8.17 |
gn6i/gn6e/gn6v/gn6t/ebmgn6i/ebmgn6t/ebmgn6e |
gn7i/gn7/gn7e/ebmgn7i/ebmgn7e ; gn8t/ebmgn8t ; gn8is/gn8v/ebmgn8is/ebmgn8v ; gn8ia/ebmgn8ia ; ebmgn9t |
Compatibilité avec nvidia-container-toolkit
|
Version de cGPU |
Versions de nvidia-container-toolkit prises en charge |
|
1.0.10 – 1.5.20 |
≤ 1,10 et 1,11 – 1,17 |
|
0.8.13 – 1.0.9 |
Uniquement ≤ 1,10 (1,11 – 1,17 non pris en charge) |
Compatibilité avec les versions du noyau
|
Version de cGPU |
Versions du noyau prises en charge |
|
1.5.9 – 1.5.20 |
3.x, 4.x, 5.x ≤ 5,15 |
|
1.5.3 – 1.5.8 |
3.x, 4.x, 5.x ≤ 5,10 |
|
1.0.3 – 1.5.2 |
3.x, 4.x, 5.x ≤ 5,1 |
|
0.8.17 |
3.x, 4.x, 5.x ≤ 5,0 |
|
0.8.10 – 0.8.13 |
3.x, 4.x (5.x non pris en charge) |
Dépannage
Une panique du noyau Linux se produit lors de l'utilisation de cGPU
Un interblocage dans le pilote du noyau cGPU bloque les processus concurrents, provoquant une panique du noyau Linux. Ce problème affecte les versions de cGPU antérieures ou égales à 1.5.7.
Mettez à niveau vers cGPU ≥ 1.5.10 pour éviter les erreurs du noyau sur les nouveaux services. Pour obtenir des instructions, consultez Mettre à niveau la version cGPU d'un nœud.
Un pod cGPU ne parvient pas à démarrer sur un nœud utilisant un système d'exploitation optimisé pour les conteneurs
Lors de l'utilisation d'une image de système d'exploitation optimisé pour les conteneurs Alibaba Cloud, le premier pod cGPU sur un nœud peut échouer au démarrage avec une erreur similaire à :
Error: failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running prestart hook #0: exit status 2, stdout: , stderr: Auto-detected mode as 'legacy': unknown
Ce problème affecte les versions de cGPU antérieures ou égales à 1.5.18. Mettez à niveau vers ack-ai-installer ≥ 1.12.6. Pour obtenir des instructions, consultez Mettre à niveau le composant de planification partagée des GPU.
Une erreur modprobe se produit lors de la création d'un pod cGPU
Si vous rencontrez l'une des erreurs suivantes lors de la création d'un pod cGPU :
modprobe: ERROR: could not insert 'cgpu_procfs': Operation not permitted
modprobe: ERROR: could not insert 'km': Operation not permitted
La version du système d'exploitation n'est pas compatible avec cGPU. Mettez à niveau le composant cGPU vers la dernière version. Pour obtenir des instructions, consultez Mettre à niveau le composant de planification partagée des GPU.
Le conteneur d'un pod cGPU ne parvient pas à être créé ou se termine en raison d'un délai d'attente
Ce problème est dû à une incompatibilité entre les versions de cGPU antérieures ou égales à 1.0.10 et les versions de nvidia-container-toolkit postérieures ou égales à 1,11. Mettez à niveau le composant cGPU vers la dernière version. Pour obtenir des instructions, consultez Mettre à niveau le composant de planification partagée des GPU.
L'erreur « Error occurs when creating cGPU instance: unknown » apparaît
cGPU prend en charge un maximum de 20 pods par GPU. Si le nombre de pods planifiés sur un GPU dépasse cette limite, les pods suivants ne peuvent pas s'exécuter et cette erreur s'affiche. Maintenez le nombre de pods par GPU à 20 ou moins.
L'erreur « Failed to initialize NVML » apparaît lors de l'exécution de nvidia-smi
L'exécution de nvidia-smi dans un pod utilisant des ressources de planification partagée de GPU renvoie :
Failed to initialize NVML: GPU access blocked by operating system
Ce problème est dû à une incompatibilité entre les versions de cGPU antérieures ou égales à 1.5.2 et les versions de pilotes GPU publiées après juillet 2023. Pour consulter la liste des dates de publication des pilotes GPU, reportez-vous à Dates de publication des pilotes GPU. Pour connaître les versions par défaut des pilotes GPU prises en charge par les versions de cluster ACK, consultez Liste des versions de pilotes NVIDIA prises en charge par ACK.
Mettez à niveau le composant cGPU vers la dernière version. Pour obtenir des instructions, consultez Mettre à niveau le composant de planification partagée des GPU.