StorageReview.com

Les mathématiques de la performance : du matériel de test de stress pour des résultats qui changent les mathématiques

Entreprise

Ce qui suit est de Jorge Zuniga, un ingénieur civil indépendant axé sur la recherche de recettes mathématiques. Jorge a travaillé avec Jordan pour tirer parti des serveurs et du stockage dans notre laboratoire afin de réaliser des progrès fondamentaux en mathématiques. Nous avons été ravis de participer à cette recherche avec Jorge et notre petite vidéo teaser sur les réseaux sociaux d'il y a quelques semaines a recueilli un énorme soutien. 

Depuis la publication de cette vidéo, nous avons continué à collaborer avec Jorge pour valider nos modèles sur des stations de travail, puis les exécuter intégralement sur le serveur Supermicro E1.S , équipé de SSD KIOXIA XD7P E1.S. La densité de cette plateforme et la possibilité de placer autant de disques à proximité du processeur en font un outil idéal pour ce type de recherche en mathématiques.

Nous sommes fiers de présenter ici les découvertes de Jorge. –Brian Beeler

Le contrôle qualité via des tests de résistance représente une politique saine pour déterminer la capacité réelle d'une installation matérielle donnée. Le calcul des chiffres est une pratique répandue pour mettre en œuvre ces politiques. En particulier, lors de l'évaluation des performances réelles de votre système avec une qualité professionnelle, plusieurs outils sont disponibles pour fournir des résultats précis.

L'un de mes logiciels préférés, développé en Autriche, est BenchMate de Matthias Zronek . Il propose plusieurs tests de résistance exigeants pour les SSD, la mémoire, les GPU et les CPU. D'autres logiciels de calcul haute performance, comme GPUPI de Zronek, calculent la constante π à l'aide du GPU. Le calcul des décimales de π est un exercice courant et standard, souvent abordé dans la presse scientifique spécialisée et sur certains réseaux sociaux dédiés aux mathématiques, notamment lors du dépassement du record de décimales connues. À ce jour, 100 000 milliards de décimales (10^14) de π sont connues.

BenchMate intègre également y-cruncher d'Alex Yee , une plateforme permettant le calcul multicœur de nombreuses constantes mathématiques, dont π, avec une précision extrême. Ce calcul offre un très grand nombre de décimales, limité uniquement par la capacité du système. Plusieurs stratégies peuvent être mises en œuvre, comme le choix d'une constante et la mise à l'épreuve du système en calculant un nombre suffisamment élevé de décimales, en enregistrant le temps d'exécution. Cette méthode constitue un excellent outil pour classer et comparer les performances de différentes configurations.

De plus, si la capacité installée le permet, il est possible de configurer un système pour battre le record du nombre de décimales connues d'une constante donnée, un défi relevé avec succès chez StorageReview. Comme indiqué dans la note de décembre 2023, j'ai collaboré avec l'équipe de StorageReview pour améliorer le nombre de décimales connues de plusieurs constantes mathématiques. Non seulement nous avons battu ces records, mais nous l'avons fait dans un délai record. Traditionnellement, cela prenait des semaines, voire des mois. Grâce à StorageReview, nous avons atteint cet objectif pour toutes les constantes en quelques heures seulement et, dans certains cas, en doublant le nombre de décimales connues. La technologie disponible chez StorageReview a permis de réduire considérablement les délais. Un résumé de ces résultats et leurs détails sont disponibles ici.

Résultats records établis par y-cruncher. Pour la liste complète des records établis par y-cruncher, consultez numberworld.

Cette note fait précisément référence à ces résultats. Pour réaliser un enregistrement de décimales, vous devez agir en trois couches.

En partant du bas, la troisième et dernière couche concerne la configuration matérielle : un disque SSD performant, une mémoire vive (RAM) de grande capacité et un processeur multicœur de dernière génération. Vous trouverez de nombreux détails sur cette configuration en ligne, ici.

La seconde couche, ou couche intermédiaire, est constituée du logiciel y-cruncher, qui assure la liaison entre les couches initiale et finale. Afin d'optimiser ses performances, y-cruncher utilise différents exécutables d'atomes selon le type de processeur multicœur du système. L'atome approprié est sélectionné automatiquement lors de l'exécution. L'outil de test permet à l'utilisateur de choisir une constante et d'appliquer l'algorithme correspondant. Cet algorithme peut être intégré directement au système ou, à défaut, utiliser des fichiers de configuration personnalisés. Pour plus de détails sur l'implémentation et l'utilisation de y-cruncher, consultez le site numberworld . Le logiciel y-cruncher est en constante évolution, bénéficiant des dernières avancées technologiques matérielles.

La première, ou couche initiale, est l'algorithme, ou plutôt la formule mathématique mise en œuvre pour calculer la constante qui sert d'entrée au y-cruncher. Chaque constante peut être représentée par un nombre infini de formules, dont presque toutes sont peu performantes, dans le sens où de nombreuses opérations mathématiques ne sont capables de fournir que quelques chiffres corrects.

De l’autre côté se trouve la catégorie des formules efficaces. Parmi celles-ci, la série hypergéométrique se démarque. Au sein de cette série, il y en a une poignée qui conviennent pour battre des records, étant capables de fournir de nombreuses décimales dans un laps de temps relativement court. En fait, la principale formule de calcul de π, connue sous le nom d’algorithme de Chudnovsky, est l’une des formules hypergéométriques.

En étroite collaboration avec l'équipe StorageReview, nous avons également relevé le défi de rechercher ces formules, c'est-à-dire d'agir sur la première couche pour obtenir une série hypergéométrique très efficace permettant de trouver la formule la plus rapide connue. Comment cela se réalise-t-il ? Une configuration multicœur est nécessaire, avec un maximum de cœurs physiques possible, pour appliquer le calcul distribué, car le processus est très exigeant en CPU mais peut être facilement parallélisé avec une grande réduction des temps de calcul. La nouvelle formule, en cas de succès, sera utilisée pour battre le record de chiffres décimaux connus pour cette constante.

Nous avons utilisé un processeur AMD Theadripper PRO 5995WX à 64 cœurs et développé des scripts sur PARI-GP, une plateforme de l'Université de Bordeaux dédiée à la théorie des nombres, afin d'y implémenter un algorithme de recherche. L'objectif est d'identifier un ensemble d'entiers 64 bits qui, insérés dans les paramètres d'une série hypergéométrique particulière à structure fixe connue, permettent d'obtenir la constante recherchée. Pour ce faire, nous avons utilisé l'algorithme LLL, une composante interne de PARI-GP, qui recherche des relations linéaires entre plusieurs valeurs à virgule flottante de précision multiple. Des détails mathématiques supplémentaires sont disponibles sur mathoverflow.net.

Nous avons commencé par la constante ζ(5) = 1.036927755143… car elle n'a pas de formule connue très efficace, mais elle s'est avérée très insaisissable. Nous n'avons pas pu trouver de formule connue au-delà de la série hypergéométrique unique, qui, soit dit en passant, n'est pas assez rapide. Après quelques semaines infructueuses, nous sommes passés à une série hypergéométrique pour les logarithmes.

Dans ce cas, nous avons eu du succès, nous avons pu trouver les algorithmes connus les plus rapides pour les constantes fondamentales log(2), log(3) et log(5) comme décrit dans ce blog.

Log(2) Recherche de formule. Les 64 cœurs physiques sont occupés.


Capture d'écran. Série Log(2) la plus rapide trouvée.


Log(2) Formule StorageReview G2 trouvée

Après avoir découvert les formules, nous avons préparé les scripts pour y-cruncher. Jordan Ranous de Storagereview a conçu l'installation pour battre le nombre de décimales connues. Dans ce cas, une configuration basée sur 2x Intel Xeon Platinum 8460H et 512 Go de RAM SK Hynix.

Cette configuration a doublé le record de décimales pour log(2) à 3 42.7 milliards de chiffres en seulement 2 heures. Un deuxième nouvel algorithme – la formule G58.3 ci-dessous, également trouvée dans le laboratoire StorageReview – a été appliqué pour vérifier les décimales, ce qui a pris 2021 heures de temps passé sur le mur. Il convient de noter que le précédent record de 98.9 prenait respectivement 61.7 et 1.5 jours pour le calcul et la vérification de 50 billion de chiffres décimaux. Cela signifie une amélioration de l’efficacité d’environ 3 fois en XNUMX ans.

Nous avons pu réaliser toutes les étapes requises pour produire des résultats utiles. Une nouvelle formule pour une constante mathématique, log(2), a été découverte à l'aide d'une installation spécialement adaptée. Cette formule a ensuite été appliquée à une configuration sur mesure pour battre le record du nombre de décimales connues pour cette constante particulière.

Les installations de StorageReview ont permis de couvrir l'ensemble du processus de préparation de tests au banc basés sur des calculs numériques qui mettent un système à rude épreuve. Ces expériences ont testé avec succès le SSD, la RAM et le CPU à l'extrême.

– Jorge Zuniga

S'engager avec StorageReview

Newsletter | YouTube | Podcast iTunes / Spotify | Instagram | Twitter | TikTok | Flux RSS

Auteur invité