Test des instances GPU OVH Cloud

Ces dernières semaines j’ai passé pas mal de temps (perso) sur tous ces nouveaux algorithmes de deep learning au sens large, aussi bien sur les solutions SaaS (Chat GPT est la plus connue) que les solutions dites « ouvertes », c’est à dire avec à la fois le moteur ET les fichiers d’apprentissages téléchargeables. J’ai donc compilé et installé StableDiffusion, le moteur de création d’images à base de texte, ou dans un champ très différent le fameux « faceswap », qui permet de mettre la tête de quelqu’un d’autre sur une vidéo. Même si j’ai du bon matos en local, je me suis dit que ce serait un bon test de voir ce que donne les fameuses cartes nvidia « Tesla V100 », qui sont des cartes pro et qui est le modèle emblématique à louer dans les instances de cloud dites « GPU ». Voilà donc ma review rapide sur la solution d’OVH !

Ce qui m’a décidé, ce sont les 200€ offerts sur les nouveaux projets. Chouette, voilà un test qui ne me coûtera rien (vous verrez plus loin dans cet article qu’il n’en sera rien).

Setup du projet chez OVH

Internet d’après MidJourney

Je lance la création de mon premier projet, ce qui met bien cinq minutes. Comme les instances GPU coûtent « cher », j’ai décidé d’amorcer mon projet sur la VM de base la plus simple, le modèle « b2-7 ». Ma première VM boote assez vite et me voilà déjà à faire les mises à jour Rocky Linux et à préparer mon environnement « tensorflow » avec tous les packages qui vont bien.

Voilà qui est fait ! comment ajouter du GPU sur une VM OVH maintenant ? Chez AWS ou GCP, il suffit d’attacher un GPU à une VM, cherchons maintenant chez OVH … Ah zut 1e tuile : il me faut convertir mon instance en type GPU, mais il me dit que ce type n’est pas dispo sur le datacenter choisi …

En lisant en détail, il me faut donc lancer une VM sur le DC GRA-9. Bim, message d’erreur encore : « ce datacenter n’est pas configuré ». Je fouille donc dans les menus et je trouve laborieusement comment activer de nouveaux DC, ce qui prend plusieurs minutes.

Reprovisionons donc une nouvelle instance sur le DC GRA-9, et recommençons le provisioning …. 1h plus tard, je suis prêt (oui bon ok je faisais autre chose en même temps). Convertissons la vm …. Bim message d’erreur : quota insuffisant. En effet, l’instance GPU la plus petite fait 8 cores et 45Go de RAM, soit au delà de la limite de 40Go de RAM initiale. Pour la dépasser, il me faut donc acheter un forfait quota (+10 VM), facturé 200€. Les petites lignes disent bien « non remboursable, à utiliser sous 12 mois ». C’est mort pour le test gratuit 🙁 Et franchement, le fait que la dénomination soit « + 10 VM » me fait vraiment douter que ce soit ça qu’il faille acheter (je veux pas plus de VM, je veux plus de RAM).

Carte bleu sortie, forfait payé, et il ne se passe rien. Ah ok, il faut là aussi attendre quelques minutes. Damned OVH ! niveau UI, affichez au moins un bandeau pour prévenir « paiement en cours » ou je sais pas moi !

Cette fois c’est bon, je lance la conversion de l’instance en type GPU. ça mouline pendant une bonne trentaine de minutes sans rien afficher d’un avancement ou autre. Après quelques centaines de F5, je vois bien ma nouvelle instance, et ça ping !

L’utilisation du GPU sur une instance OVH

Carte GPU (MidJourney)

Je me connecte, j’installe « nvidia-smi » qui est l’utilitaire classique pour lister les GPU … Ouf c’est bon, ma carte Tesla est là !

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 530.30.02              Driver Version: 530.30.02    CUDA Version: 12.1     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                  Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf            Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Tesla V100-PCIE-16GB            Off| 00000000:00:06.0 Off |                    0 |
| N/A   36C    P0               36W / 250W|      0MiB / 16384MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+

Bon, comment tester et comparer maintenant ? Je me lance avec « deepfacelab » car c’est mon dernier projet perso. On lance juste la phase apprentissage (toute les étapes de découpe / etc ont été faites en local pour gagner du temps et pas payer dans le vide). Mais c’est la douche froide : c’est très très lent … Ah mais oui : le training se fait en mode CPU ! Le GPU n’est pas détecté correctement ! Il est tard, j’éteins la VM pour la journée de travail et la nuit qui vient afin de ne pas dépenser trop dans le vide.

Deux jours plus tard, je rallume ma VM, ce qui prend environ 15 minutes. Un nouvel essai l’après-midi me donne sensiblement le même délai. En clair, il faut pas être pressé si vous avez besoin d’une instance GPU … Après pas mal d’essais infructueux sur les drivers ou du kernel, je tombe enfin sur ce message qui informe qu’il faut downgrader Tensorflow … et ça fonctionne ! Ce n’était donc pas un souci de driver mais bien un souci applicatif python. Bon la question que vous vous posez tous : est-ce qu’une carte Tesla est vraiment plus rapide ? Voilà une comparaison des rythmes d’apprentissage obtenus :

Type d’apprentissageDurée d’un cycle
CPU19500 ms
GPU maison « GTX 1080 »1360ms
GPU Tesla V100240ms

Une bonne nouvelle : c’est cher mais c’est 5 fois plus rapide que mon GPU maison, qui commence certe à être un peu vieux mais qui n’est pas non plus si mauvais que ça.

Il est maintenant temps d’éteindre tout ça. Je devrais en avoir pour une dizaine d’euros de test d’après mes calculs. Et là, l’interface OVH m’indique … 60€ de consommation ! que s’est-il passé ? Argh, je me suis fait avoir comme un bleu. VOilà ce que donne les CGV d’OVH :

 La facturation d’une instance s’arrête quand l’instance est supprimée définitivement. Les états « arrêtée », « en pause », ou autre continuent à faire tourner le compteur de facturation tant que l’instance n’est pas supprimée. Dans les deux modes de facturation, l’unité de temps entamée est facturée.

Mais bien sûr ! J’ai été trop habitué à Nua.ge, où on ne paye que quand l’instance est allumée, à l’exception du stockage… Mais alors pourquoi diantre faut-il 15 minutes pour allumer une instance ?? Quoi qu’il en soit, ce test m’aura coûté 60€ pour environ 4h d’usage GPU effectif. Oui c’est cher 🙂 D’ailleurs, avec un minimum d’achat à 200€, on peut donc plutôt prendre ce chiffre si je n’utilise pas les ressources d’ici 12 mois…

Chez la concurrence, les instances GPU sont nettement moins cher 🙁 Là j’ai vraiment voulu tester le Made In France, mais un tarif x2 me parait prohibitif.

Plate-formeTarif horaire
GCP$0,74
AWS$0,918
OVH$1,99*
ScaleWay1,221€ (Tesla P100)
0,98€ sur RTX 3070
* conversion EUR/USD avril 2023

Conclusion

Avec ce test de GPU, c’était la 1e fois que j’utilisais le cloud public d’OVH depuis plus de 2 ans, lors des études de concurrence pour Nua.ge ; je suis très déçu de la progression du produit, par rapport aux moyens d’OVH. L’interface est aussi compliquée qu’AWS, on ne comprends pas vraiment ce qu’on paye et quand, bref l’expérience utilisateur a été plus frustrante qu’autre chose. Il y a clairement un boulevard pour qui proposera un produit simple d’usage.

CentOS 8 : No URLs in mirrorlist

Vous utilisez CentOS8 et vous avez cette erreur ?

Error: Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlistExited with code exit status 1

Nous allons voir ensemble comment la corriger 🙂


En 2021, Red Hat a pris le contrôle de CentOS et a déprécié le fonctionnement de base de cette distribution pour en faire une version « stream ». Au 31 décembre, ils ont coupé les repository officiels, d’où l’erreur que vous avez. Pour corriger, il faut donc utiliser un miroir :

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.epel.cloud|g' /etc/yum.repos.d/CentOS-Linux-*

vous pouvez maintenant relancer « dnf update », ça fonctionnera !

Passer à Rocky Linux 8

Le remplaçant officiel est ROcky Linux 8, créé par le fondateur de CentOS, et a pour objectif de mimer les packages Red Hat (comme CentOS). Vous pouvez upgrader votre distribution Centos8 pour passer sur Rocky grâce à un script de mise à jour :

dnf -y upgrade
curl https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh -o migrate2rocky.sh
chmod u+x migrate2rocky.sh
./migrate2rocky.sh -r
reboot

Et vous voilà sur Rocky, à vous les mises à jour (jusqu’en 2024 au moins sur la version 8).

Edit Ubuntu password on Windows10

You installed Ubuntu on your Windows 10 through App Store ? Great ! But if you have a good memory, you know you type your user password. This one is needed for every single « sudo » instruction. Do you want to change this password without knowing the old one ? It’s very easy. No need to follow all the (very long) tutorial on the net with cryptic Windows command. Just go to this folder :

C:\Users\<yourusername>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\etc

Edit file « shadow » and find the line with your username. Line is like this :

mylogin:$1$D5z55fgf$SDOizClhr1t8t4.:17687:0:99999:7:::

Password is encrypted and is the second field (separator is « : »).

Generate a new password with the following command :

openssl passwd -1 -salt ARandomString yourSuperPassword

Replace old password hash with the output. No need to reload anything, just type « sudo » with your user, you get prompted with a password, type « yourSuperPassword » and voilà !

 

Troubles installing CentOS on XenServer

You have a XenServer 6 or 7, and you have troubles installing CentOS (6 or 7) : the installer loads, but all you get is a black screen …

This is a known issue, and I’m wondering why it wasn’t fixed because it’s there for so long.
When having the boot menu, hit « tab » to show the option, and add the following :

modprobe.blacklist=bochs_drm rhgb

And then it worked !

https://bugs.xenserver.org/browse/XSO-353

https://discussions.citrix.com/topic/364226-centos-7-1503-installer-gives-blank-screen/

 

Une mauvaise expérience avec un e-commerçant français

Je tenais à partager avec vous ma mésaventure avec un e-commerçant, en l’occurrence Designere.fr

En mai 2015, j’ai cherché à acheter une plaque à induction. Mon choix se porte sur un modèle de chez Sauter, et je trouve ma référence à un très bon prix sur le site designere.fr. De plus, le site annonce la référence comme étant en stock, ce qui était un critère important pour moi. Mon compte est débité le jour de la commande (certains commerçants Internet choisissent de débiter leur client le jour de l’expédition, mais pas celui-ci) …

Quelque jours après la commande, le site m’annonce que le produit est en rupture et qu’il faut compter une à deux semaines de délai. Ainsi soit-il pensait-je à l’époque, et va pour attendre un peu.

Un mois après, le produit n’est toujours pas disponible et on me propose un article similaire mais bien plus cher. Je choisis donc d’annuler ma commande, et on me confirme que mon remboursement aura lieu dans les plus brefs délais.

Fin juillet, soit 2 mois et demi après ma commande (et 40 jours après l’annulation), aucune nouvelle … Je relance donc deux fois par email. A chaque fois, on me dit « transmettre ma demande au service facturation », sans résultat. Leur numéro de support est surtaxé dès la première seconde (ce qui au passage est tout simplement interdit), et leur email se met à renvoyer des erreurs comme quoi le destinataire n’existe plus …

En général, c’est là qu’on panique. Quelques recherches sur Internet montrent que je suis loin d’être le seul dans ce cas : de très nombreuses personnes ont commandées comme moi un produit annoncé en stock, qui finalement ne l’était pas, puis après avoir patientées des semaines, annulent leurs commandes … sans recevoir le remboursement. Pour résumer les mésaventures d’autres clients, il faut s’armer de patience au téléphone, râler très fort, et envoyer plusieurs recommandés pour obtenir gain de cause.

Cette technique n’est malheureusement pas limitée à un seul commerçant mais se développe de plus en plus sur le net : cela permet de faire de la trésorerie sur le dos des clients … Pour faire encore plus fort, il suffit de ne pas livrer certaines références. Si un client sur dix tire un trait sur la dette et ne veut pas perdre de temps dans des recommandés, c’est autant de gagné.

De mon côté, j’ai porté plainte auprès du tribunal de proximité début septembre, pour avoir une audience à la mi-janvier 2016.
Et miracle au 20 décembre: mon remboursement est bien arrivé (avec six mois de retard donc). C’est pas incroyable tout ça ?

Il y a bien une leçon à retenir de tout ça : si vous voyez un commerçant en ligne avec des tarifs très compétitifs, renseignez-vous avant sur son sérieux.
Au final, j’ai commandé mon produit chez un concurrent certes 10% plus cher, mais reconnu et qui pratique le débit à l’expédition.

using a secured relay in Postfix

I have a server on a LAN that need to send emails. Of course, this server has access to the internet through NAT, but for emails it is a bit more difficult : nowadays, email servers are checking many things when receiving emails : reverse, ‘from’ field, etc. and you may not have access to this kind of tuning for the internet IP address used with your NAT. So I needed to configure a relayhost, with direct access to the internet, that would accept my incoming email and relay it through normal channels. But I don’t want this server to be an open relay, so I have to setup authentication between them.

Continuer la lecture de using a secured relay in Postfix

Problèmes de réseau avec VirtualBox sur Windows 10

Vous êtes passés sur Windows 10 ? Tant mieux pour vous. Mais si vous êtes un peu développeur / sysadmin, vous avez probablement VirtualBox qui tourne sur votre poste, et horrifié, vous vous rendez compte que vos VM n’ont plus de réseau depuis la mise à jour de l’OS. Si vous regardez les propriétés réseau, vous remarquez que le mode « Pont » (bridge) n’est plus utilisable (et c’est probablement ce mode que vous utilisiez).

La solution est simple : installer une version beta de VirtualBox. Oui c’est moche … Elle se trouve ici : https://www.virtualbox.org/wiki/Testbuilds

Redémarrez ensuite votre PC … Et le mode bridge est de nouveau dispo !

Dernière subtilité : apparemment le réseau ne marche plus si votre ordinateur est passé en mode veille … Le réseau est toujours là, mais les paquets ne passent plus. Un reboot corrige l’histoire.

En espérant que VirtualBox fasse rapidement les corrections nécéssaires !

Copyright surfsession.com

A quoi sert le Protune sur les GoPro ?

Vous avez craqué juste avant (ou après) les vacances, et vous avez acheté une GoPro ? Super ! Maintenant, en cherchant dans les menus, vous voyez une option nommée « protune ». Faut-il l’activer ? En cherchant un peu sur les forums, on vous explique que si vous êtes un amateur de montage vidéo, vous avez intérêt à l’activer. Pourtant, l’image parait beaucoup plus terne et morne avec … Mais pourquoi ?

Continuer la lecture de A quoi sert le Protune sur les GoPro ?

Le combat des macarons. Hermé contre Sève – Dégustation à l’aveugle

Le macaron est une des pâtisseries les plus raffinées qui existe, et quelques artisans en ont fait leur spécialité. Qui ne connait pas Ladurée ou Hermé sur Paris ? Pourtant, il ne faut pas se limiter à Paris quand on parle des petits plaisirs du palais. N’oublions pas que la vraie Capitale de la gastronomie reste … Lyon ! Et la guerre est sanglante entre ces deux métropoles. Pour cet article de blog, j’ai donc décidé d’organiser une dégustation à l’aveugle entre les macarons de chez Pierre Hermé (Paris), et Sève (Lyon). Petite parenthèse au passage : je n’ai pas choisi Ladurée car j’ai déjà organisé un « blind test » Hermé / Ladurée, remporté haut la main par le premier. Reprenons donc notre champion et comparons-le à l’un des meilleurs pâtissiers de Lugdunum.

Continuer la lecture de Le combat des macarons. Hermé contre Sève – Dégustation à l’aveugle