Mais que fait "Guerre et Paix" de Tolstoï dans les fichiers liés à CUDA de NVIDIA ?

Nathan Le Gohlisse
Par Nathan Le Gohlisse, Spécialiste Hardware.
Publié le 30 mai 2022 à 15h42
© NVIDIA
© NVIDIA

NVIDIA est peut-être plus littéraire que nous l'aurions cru. Un fichier découvert dans le dossier NVIDIA CUDA des détenteurs de GPU GeForce n'est pas tout à fait comme les autres. Intitulé « warandpeace.txt », il contient le roman éponyme de Léon Tolstoï.

De par sa taille anormale (3212 Ko contre moins de 10 Ko en temps normal), le fichier a attiré l'attention de CHDuckie, un utilisateur de Reddit, qui a fait part hier de ses découvertes sur le subreddit NVIDIA. Pour ouvrir le fichier, l'intéressé a été contraint d'utiliser Visual Studio Code, NotePad n'étant pas capable de lancer un fichier texte de cette taille, note WCCFTech. À l'intérieur, pas de code… mais l'intégralité du roman Guerre et Paix de l'écrivain russe Léon Tolstoï.

De la littérature dans les fichiers de NVIDIA

Au total, les 65 340 lignes du roman sont comprises dans le fichier : une copie complète de l'eBook de Guerre et Paix partagée librement dans le cadre du projet Gutenberg. Mais que fait-elle ici ? Le mystère n'est peut-être pas si épais que cela, une hypothèse viable étant déjà avancée sur Reddit.

© Reddit via WCCFTech
© Reddit via WCCFTech

La présence du roman dans le dossier CUDA a visiblement une utilité pratique… et elle aurait à voir avec la nature libre de droits du chef-d'œuvre de Totstoï. D'après un utilisateur de Reddit, l'utilisation de l'œuvre serait bien liée à la technologie CUDA.

© Reddit via WCCFTech

Pour rappel, cette dernière sert à la fois de plateforme de calcul et de modèle de programmation pour réaliser des opérations directement sur le GPU. Cette technologie permet ainsi d'augmenter la vitesse des applications en exploitant la puissance du GPU.

Pourquoi NVIDIA fait lire du Tolstoï à ses GPU ?

Sur Reddit, jlouis8 explique que le roman est exploité comme suit :

« Il est utilisé dans le code ici : https://github.com/NVIDIA/cuda-samples/blob/master/Samples/0_Introduction/c%2B%2B11_cuda/c%2B%2B11_cuda.cu#L97. Cela crée un petit noyau CUDA qui compte les lettres w, x, y et z dans certaines données. Il charge ensuite Guerre et Paix dans la mémoire du GPU et exécute ce noyau sur les données », lit-on.

« La raison pour laquelle ce texte a été choisi est probablement qu'il est libre d'être inclus sans enfreindre les droits d'auteur, et qu'il est suffisamment grand pour que vous puissiez mesurer une différence selon la méthode utilisée, tout en étant suffisamment petit pour être exécuté rapidement ».

En clair, NVIDIA fait lire du Tolstoï à ses GPU pour jauger le code employé avec sa technologie CUDA.

Source : WCCFTech

Par Nathan Le Gohlisse
Spécialiste Hardware

Passionné de nouvelles technos, d'Histoire et de vieux Rock depuis tout jeune, je suis un PCiste ayant sombré corps et biens dans les délices de macOS. J'aime causer Tech et informatique sur le web, ici et ailleurs. N’hésitez pas à me retrouver sur Twitter !

Vous êtes un utilisateur de Google Actualités ou de WhatsApp ?
Suivez-nous pour ne rien rater de l'actu tech !
Commentaires (0)
Rejoignez la communauté Clubic
Rejoignez la communauté des passionnés de nouvelles technologies. Venez partager votre passion et débattre de l’actualité avec nos membres qui s’entraident et partagent leur expertise quotidiennement.
Commentaires (10)
SPH

Curieux ce test pour une 3090 ! :face_with_raised_eyebrow:

neyslim

je suis fan :smile:

Nmut

Même avec une vieille brouette lessivée, ça va super vite de scanner 3Mo, et les différences de perfs sont probablement plus petites que la résolution des timers!
Je ne vois pas trop ce que ce test peut montrer à part peut-être juste montrer que « ça marche »…

pecore

Les conspirationnistes vont probablement trouver une explication bien à eux.

Anne-Onyman

Ah mince, un riche milliardaire venait d’acheter le NFT Guerre et Paix pour 4M€. Ben tant pis il pourra toujours le revendre 50$ (;

lightness

"Absolument, c’est en fait un message de la part des développeurs de NVIDIA qui confirme leur soutien à la Russie et non l’Ukraine car l’auteur est russe et comme la Russie d’hier et d’aujourd’hui c’est la même à 3 poils de fut près.

On remarquera egalement dans son livre des allusions aux talmud islamo-sioniste.

Allusions complotiste élaboré en l’an 2012. Depuis comme dirait ntm on est passé à autre chose."

Désolé, je pouvais pas m’empêcher de faire de l’ironie si quelqu’un trouve encore une hypothèse de 20 pages pour justifier que ce roman a été déposé pour autre chose que ce qu’on a bien voulu dire, je dirais on continue de marcher sur la tête.

Urleur

J’aurais plutôt mis « Chasse et pêche » ou « nature et découverte », quiz : quel lambda va trouver le texte ?

fro1

Sauf que sur un GPU, chaque coeur CUDA va compter dans une petite partie du texte en parallèle, et donc ça va aller environ 100x plus vite que sur le CPU. Les différences seront largement plus grande que la résolution des timers…

Nmut

Tu n’as pas compris mon raisonnement.
En prenant comme hypothèse que ton timer a une résolution de 1 micro seconde, si tes calculs sur CPU sont 1000x plus lents mais prennent moins d’une micro seconde, tu auras le même résultat dans les 2 cas: 0 micro seconde! :smiley:
Et c’est sans compter les couts cachés de Cuda (gestion mémoire, transferts de données) qui vont être important par rapport au temps de calcul de l’algo de recherche! :stuck_out_tongue:

fro1

J’ai très bien compris ton raisonnement, mais deux choses sont fausses dedans: 1) le comptage de charactères dans 3Mo de texte va prendre plus d’une microseconde, et 2) n’importe quel benchmark doit toujours être répété un certain nombre de fois. Pour le fait que le transfert de données risque de dominer le temps de calcul, je serais surpris que ce soit le cas pour si peu de données, mais c’est pas impossible. Si NVIDIA a intégré ce sample à ses demos CUDA, tu peux être à peu près sûr que l’avantage par rapport au CPU est important, et c’est d’ailleurs pour ça qu’il leur fallait un gros bloc de texte :slight_smile: