OVH Guide

Deployer une instance GPU sur Public Cloud

Tutoriel de deploiement d’instance GPU sur Public Cloud

Preambule

Les instances GPU sont techniquement identiques aux instances CPU de la gamme 2017, mais avec une carte graphique (GPU) dédiée à l'instance. La technologie utilisée (pci_passthrough) permet au système d'exploitation de l'instance de contrôler le GPU exactement comme sur une machine physique.

Les GPUs proposés sont des Nvidia Geforce GTX 1060. D'autres modèles pourront être proposés par la suite.

Les instances GPU sont, pour l'instant, disponible uniquement à GRA3. Vous aurez peut-être besoin de créer un nouveau projet et de sélectionner la nouvelle gamme 2017. Voir: docs/cloud/public-cloud/faq_how_to_understand_the_new_standardized_flavor_names/

Deploiement

Linux

Toutes les images que nous proposons peuvent être utilisées sur une instance GPU.

Si vous n'êtes pas à l'aise avec la compilation manuelle de module noyau, nous vous recommandons d'utiliser une distribution officiellement supportée par Nvidia, pour laquelle ils fournissent des drivers clé-en-main : https://developer.nvidia.com/cuda-downloads

Démarrez une instance en utilisant une des flavors GPU (g1-15, g1-30...).

public-cloud

Quelques secondes plus tard, notre instance est démarrée. Nous nous y connectons et pouvons vérifier la présence de la carte graphique :

 ~  ssh ubuntu@217.182.83.88
 ubuntu@test-gpu:~$ lspci | grep -i nvidia
 00:05.0 VGA compatible controller: NVIDIA Corporation Device 1c03 (rev a1)
 00:06.0 Audio device: NVIDIA Corporation Device 10f1 (rev a1)
 ```
Toutefois, nous ne pouvons pas encore utiliser la carte graphique. Nous devons installer le driver Nvidia:

wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.44-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu1604_8.0.44-1_amd64.deb sudo apt-get update sudo apt-get upgrade sudo apt-get install cuda sudo reboot ``` Une fois la machine redémarrée, nous pouvons maintenant voir la carte graphique via l'utilitaire Nvidia:

``` ubuntu@test-gpu:~$ nvidia-smi Wed Apr 26 13:05:25 2017 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 375.51 Driver Version: 375.51 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 106... Off | 0000:00:05.0 Off | N/A | | 0% 22C P0 26W / 120W | 0MiB / 6072MiB | 0% Default | +-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+ ``` Et c'est tout, notre instance GPU est prête à être utilisée.

Windows

Il y a des incompatibilités entre le driver Nvidia et la solution de virtualisation KVM/pci_passthrough. Les images Windows standard ne fonctionnent pas.

Nous fournissons des images spéciales, reposant sur un BIOS virtuel UEFI, qui permettent au driver de fonctionner correctement :

public-cloud

Nous ne pouvons pas garantir que notre solution fonctionnera avec toutes les versions futures du driver Nvidia. Nos images contiennent une version du driver qui fonctionne et supporte les GPUs que nous fournissons. Avant de mettre à jour le driver Nvidia, nous vous recommandons de prendre un snapshot qui vous permettra de revenir en arrière au cas où la nouvelle version poserait problème.

Démarrez une instance en utilisant une des flavors GPU (win-g1-15, win-g1-30...).

Quelques minutes plus tard, notre instance est démarrée. Après avoir configuré notre mot de passe, on peut voir que le driver Nvidia est déjà installé et que le GPU est bien reconnu :

public-cloud

public-cloud