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

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

by Auteur invité

Nous avons doublé le record de décimales pour log(2) à 3 42.7 milliards de chiffres en seulement 50 heures, soit une amélioration d'efficacité d'environ 3 fois en XNUMX ans.

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 cette vidéo, nous avons continué à travailler avec Jorge pour tester des modèles sur des postes de travail, puis les exécuter intégralement sur le serveur. Serveur Supermicro E1.S, rempli avec SSD KIOXIA XD7P E1.S. La densité de la plate-forme et la possibilité de conserver autant de disques à proximité du processeur en font une plate-forme idéale pour ce type de recherche mathématique. 

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 d'entre eux, développé en Autriche et l'un de mes préférés, est Celui de Matthias Zronek Compagnon de banc, qui contient plusieurs tests de résistance exigeants pour les SSD, la mémoire, les GPU et les CPU. D'autres progiciels de calcul haute performance, tels que le GPUPI de Zronek, calculent la constante π à l'aide du GPU. Le calcul des décimales de π est un test standard et courant qui est souvent apparu dans la presse scientifique spécialisée et certains réseaux sociaux spécialisés en mathématiques lorsque le record de décimales connues a été battu. Aujourd'hui, 100 10 milliards de décimales (14^XNUMX) de π sont connues.

Dans BenchMate, il y a aussi Le y-cruncher d'Alex Yee, une plate-forme qui permet le calcul CPU-Multicœur de nombreuses constantes mathématiques, y compris π, avec une précision extrêmement élevée, fournissant un grand nombre de décimales limité uniquement par la capacité du système. Dans ce cas, plusieurs stratégies peuvent être suivies, comme choisir une constante et forcer le système à calculer un nombre suffisamment grand de décimales en enregistrant le temps écoulé. Cela constitue une excellente mesure pour classer et comparer les performances de différentes configurations isolées.

De plus, s'il y a suffisamment de capacité installée, une configuration du système peut être exécutée pour dépasser le nombre connu de décimales d'une constante donnée, un défi relevé par StorageReview avec beaucoup de succès. Comme indiqué dans le décembre Note 2023, j'ai travaillé avec l'équipe StorageReview pour améliorer le nombre connu de décimales pour plusieurs constantes mathématiques. Non seulement nous avons réussi à battre ces records, mais nous l’avons fait dans les plus brefs délais. Il a été historiquement normal de prendre des semaines ou des mois pour y parvenir. En travaillant avec StorageReview, nous y sommes parvenus 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 des réductions de temps de plusieurs ordres de grandeur. Un résumé de ces résultats et leurs détails peuvent être trouvés ici.

Enregistrez les résultats définis par y-cruncher. Pour une liste complète des records établis par y-cruncher, visitez nombremonde.

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 commençant par le bas, la troisième ou dernière couche est la configuration matérielle ; cela signifie une installation SSD robuste, une capacité RAM hautes performances et un processeur multicœur de pointe. Beaucoup de ces détails et la configuration appliquée peuvent être consultés en ligne ici.

La deuxième couche, ou couche intermédiaire, comprend le logiciel, c'est-à-dire y-cruncher, qui constitue le lien entre les couches initiale et finale. Pour augmenter ses performances, y-cruncher maintient différents exécutables atomiques en fonction du type de processeur multicœur du système. Le bon atome d'exécution est automatiquement choisi au moment de l'exécution. Le banc de test permet à l'utilisateur de sélectionner une constante et d'appliquer l'algorithme correspondant. Cet algorithme peut soit être intégré directement dans le système, soit, dans le cas contraire, utiliser des fichiers de configuration personnalisés pour la mise en œuvre. Les détails de la mise en œuvre et de l'utilisation de y-cruncher peuvent être consultés sur nombremonde. Le logiciel y-cruncher est constamment en développement, surfant sur la vague des nouvelles technologies 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 AMD Theadripper PRO 64WX à 5995 cœurs et préparé des scripts de code sur PARI-GP, une plateforme de théorie des nombres de l'Université de Bordeaux (France), et implémenté un algorithme de recherche. L'objectif est d'identifier un ensemble d'entiers de 64 bits qui, lorsqu'ils sont insérés dans les paramètres d'une série hypergéométrique particulière avec une structure fixe connue, donnent la constante recherchée. Pour ce faire, l'algorithme LLL - une partie interne de PARI GP - est utilisé, qui recherche des relations linéaires entières entre plusieurs valeurs à virgule flottante de précision. Plus de détails mathématiques peuvent être trouvés 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 réussi, 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 blogue.

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