« Docker nvidia » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(3 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Category:Informatique]] | [[Category:Informatique]] | ||
[[Category:Docker]] | [[Category:Docker]] | ||
Pour faire fonctionner une carte nvidia dans un conteneur docker il est | Pour faire fonctionner une carte nvidia dans un conteneur docker plusieurs points sont nécessaires : | ||
nvidia-container-runtime | |||
*installer les pilotes à jour | |||
*installer cuda | |||
*installer le paquet : nvidia-container-runtime | |||
<h1>Mise à jour des pilotes</h1> | |||
Afin d'utiliser les pilotes propriétaires nvidia il est possible d'utiliser le dépôt de nvidia : | |||
<pre style="color: silver; background: black;"> | |||
sudo add-apt-repository ppa:graphics-drivers/ppa | |||
sudo apt update | |||
ubuntu-drivers devices | |||
sudo apt install nvidia-(numéro du pilote) | |||
</pre> | |||
[https://doc.ubuntu-fr.org/nvidia#via_un_ppa Source] | |||
<h1>Installer Cuda</h1> | |||
La procédure est plus ou moins la même que pour la mise à jour des pilotes | |||
<pre style="color: silver; background: black;"> | |||
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb | |||
sudo dpkg -i cuda-keyring_1.1-1_all.deb | |||
sudo apt-get update | |||
sudo apt-get -y install cuda | |||
</pre> | |||
[https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_network Source] | |||
Dans le cas où un message d'erreur : "Key is stored in legacy trusted.gpg keyring", suivre la procédure [https://itsfoss.com/key-is-stored-in-legacy-trusted-gpg/ ici] | |||
<h1>Installer nvidia-container-runtime</h1> | |||
Il faut pour cela ajouter le ppa de nvidia : | Il faut pour cela ajouter le ppa de nvidia : | ||
Ligne 21 : | Ligne 51 : | ||
Plus de détail [https://itsfoss.com/key-is-stored-in-legacy-trusted-gpg/ ici] | Plus de détail [https://itsfoss.com/key-is-stored-in-legacy-trusted-gpg/ ici] | ||
<h1>Tester</h1> | |||
Une fois ceci fait on peut suivre les instructions de [https://docs.docker.com/config/containers/resource_constraints/#gpu cette page] pour tester si cela à bien fonctionné. | Une fois ceci fait on peut suivre les instructions de [https://docs.docker.com/config/containers/resource_constraints/#gpu cette page] pour tester si cela à bien fonctionné. | ||
<h1>Docker-compose</h1> | |||
Avec docker-compose il faut suivre les instructions de [https://docs.docker.com/compose/gpu-support/ cette page] | |||
Version actuelle datée du 20 juillet 2023 à 16:35
Pour faire fonctionner une carte nvidia dans un conteneur docker plusieurs points sont nécessaires :
- installer les pilotes à jour
- installer cuda
- installer le paquet : nvidia-container-runtime
Mise à jour des pilotes
Afin d'utiliser les pilotes propriétaires nvidia il est possible d'utiliser le dépôt de nvidia :
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update ubuntu-drivers devices sudo apt install nvidia-(numéro du pilote)
Installer Cuda
La procédure est plus ou moins la même que pour la mise à jour des pilotes
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt-get update sudo apt-get -y install cuda
Dans le cas où un message d'erreur : "Key is stored in legacy trusted.gpg keyring", suivre la procédure ici
Installer nvidia-container-runtime
Il faut pour cela ajouter le ppa de nvidia :
curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list sudo apt-get update && sudo apt-get install nvidia-container-runtime
Il se peut cependant qu'un warning du type : "Key is stored in legacy trusted.gpg keyring", fasse son apparition
Pour y remédier il faut exporter la clef dans un fichier du dossier /etc/apt/trusted.gpg.d Plus de détail ici
Tester
Une fois ceci fait on peut suivre les instructions de cette page pour tester si cela à bien fonctionné.
Docker-compose
Avec docker-compose il faut suivre les instructions de cette page
- https://wiki.archlinux.org/index.php/Docker#Run_GPU_accelerated_Docker_containers_with_NVIDIA_GPUs
- https://www.jbnet.fr/systeme/docker/docker-configurer-lutilisation-du-gpu-nvidia.html
- https://marmelab.com/blog/2018/03/21/using-nvidia-gpu-within-docker-container.html
- https://github.com/docker/compose/issues/6691