9
votes

Kubernetes peut-il partager un seul GPU entre des pods?

Est-il possible de partager un seul GPU entre les pods kubernetes ?


0 commentaires

4 Réponses :


5
votes

Comme le dit le document officiel

Les GPU ne sont censés être spécifiés que dans la section des limites, ce qui signifie:

Vous pouvez spécifier des limites de GPU sans spécifier de requêtes, car Kubernetes utilisera la limite comme valeur de requête par défaut.

Vous pouvez spécifier le GPU à la fois dans les limites et dans les requêtes, mais ces deux valeurs doivent être égales.

Vous ne pouvez pas spécifier de requêtes GPU sans spécifier de limites. Les conteneurs (et les pods) ne partagent pas de GPU . Il n'y a pas de surengagement des GPU.

Chaque conteneur peut demander un ou plusieurs GPU. Il n'est pas possible de demander une fraction de GPU.

Vous pouvez également suivre cette discussion pour obtenir un peu plus d'informations.

/ p>


1 commentaires

apparemment ce n'est pas tout à fait vrai - voyez ma réponse :)



1
votes

La documentation officielle indique que les pods ne peuvent pas demander une fraction du processeur. Si vous exécutez une application d'apprentissage automatique dans plusieurs pods, vous devez vous pencher sur kubeflow. Ces gars-là ont résolu ce problème.


0 commentaires

2
votes

Oui, c'est possible - au moins avec les GPU Nvidia.

Ne le spécifiez pas dans les limites / demandes de ressources. De cette façon, les conteneurs de tous les pods auront un accès complet au GPU comme s'il s'agissait de processus normaux.


0 commentaires

1
votes

Oui, c'est possible en apportant quelques modifications au planificateur, quelqu'un sur github a gentiment ouvert sa solution, jetez un œil ici: https://github.com/AliyunContainerService/gpushare-scheduler-extender


0 commentaires