Quello che segue è di Jorge Zuniga, un ingegnere civile indipendente concentrato sulla ricerca di ricette matematiche. Jorge ha collaborato con Jordan per sfruttare i server e l'archiviazione nel nostro laboratorio per realizzare progressi fondamentali nel campo della matematica. Siamo stati entusiasti di partecipare a questa ricerca con Jorge e il nostro piccolo video teaser sui social media di un paio di settimane fa ha raccolto un enorme supporto.
Visualizza questo post su Instagram
Da quel video, abbiamo continuato a collaborare con Jorge per testare i modelli sulle workstation, per poi eseguirli completamente sul server Supermicro E1.S , dotato di SSD KIOXIA XD7P E1.S. La densità della piattaforma e la possibilità di posizionare così tante unità vicino alla CPU la rendono ideale per questo tipo di ricerca matematica.
Siamo orgogliosi di presentare qui le scoperte di Jorge. –Brian Beeler
Il controllo di qualità tramite stress test rappresenta una politica salutare per determinare l'effettiva capacità di una determinata struttura hardware. Il calcolo dei numeri è una pratica diffusa per l’attuazione di queste politiche. In particolare, quando si valutano le prestazioni effettive del proprio sistema con qualità professionale, sono disponibili molteplici strumenti per fornire risultati accurati.
Uno di questi, sviluppato in Austria e uno dei miei preferiti, è BenchMate di Matthias Zronek , che contiene diversi stress test impegnativi per SSD, memoria, GPU e CPU. Altri pacchetti per il calcolo ad alte prestazioni, come GPUPI di Zronek, calcolano la costante π utilizzando la GPU. Il calcolo delle cifre decimali di π è un test standard e comune che è spesso apparso sulla stampa scientifica specializzata e su alcuni social network dedicati alla matematica quando è stato battuto il record di cifre decimali conosciute. Ad oggi, sono note 100 trilioni di cifre decimali (10^14) di π.
In BenchMate è presente anche y-cruncher di Alex Yee , una piattaforma che consente il calcolo multicore di numerose costanti matematiche, tra cui π, con una precisione estremamente elevata, raggiungendo un numero elevatissimo di cifre decimali, limitato solo dalla capacità del sistema. In questo caso, è possibile adottare diverse strategie, come ad esempio scegliere una costante e sottoporre il sistema a stress per calcolare un numero sufficientemente elevato di cifre decimali, registrando il tempo impiegato. Questo fornisce un ottimo parametro per classificare e confrontare le prestazioni di diverse configurazioni isolate.
Inoltre, se la capacità installata è sufficiente, è possibile eseguire una configurazione di sistema per superare il numero noto di cifre decimali di una data costante, una sfida affrontata da StorageReview con grande successo. Come riportato nella nota di dicembre 2023, ho collaborato con il team di StorageReview per migliorare il numero noto di cifre decimali per diverse costanti matematiche. Non solo siamo riusciti a battere questi record, ma lo abbiamo fatto nel minor tempo possibile. Storicamente, era normale impiegare settimane o mesi per farlo. Lavorando con StorageReview, abbiamo raggiunto questo obiettivo per tutte le costanti in poche ore e, in alcuni casi, raddoppiando il numero di decimali noti. La tecnologia disponibile presso StorageReview ha permesso di ridurre i tempi di diversi ordini di grandezza. Un riepilogo di questi risultati e i relativi dettagli sono disponibili qui.
Risultati record stabiliti da y-cruncher. Per un elenco completo dei record stabiliti da y-cruncher, visita numberworld.
Questa nota si riferisce proprio a questi risultati. Per ottenere un record di cifre decimali è necessario agire su tre livelli.
Partendo dal basso, il terzo e ultimo strato è la configurazione hardware; ciò significa un'installazione SSD robusta, una RAM ad alte prestazioni e una CPU multicore all'avanguardia. Molti di questi dettagli e la configurazione applicata sono consultabili online qui.
Il secondo strato, o strato intermedio, comprende il software, ovvero y-cruncher, che costituisce il collegamento tra lo strato iniziale e quello finale. Per aumentarne le prestazioni, y-cruncher mantiene diversi eseguibili atomici a seconda del tipo di CPU multicore presente nel sistema. L'atomo eseguibile corretto viene scelto automaticamente al momento dell'esecuzione. Il tester di benchmark consente all'utente di selezionare una costante e applicare l'algoritmo corrispondente. Questo algoritmo può essere integrato direttamente nel sistema oppure, in caso contrario, utilizzare file di configurazione personalizzati per l'implementazione. I dettagli sull'implementazione e l'utilizzo di y-cruncher sono disponibili su numberworld . Il software y-cruncher è in costante sviluppo, cavalcando l'onda delle nuove tecnologie hardware.
Il primo, o strato iniziale, è l'algoritmo, ovvero la formula matematica implementata per calcolare la costante che serve da input per y-cruncher. Ogni costante può essere rappresentata da un numero infinito di formule, quasi tutte poco performanti, nel senso che molte operazioni matematiche sono in grado di restituire solo poche cifre corrette.
Dall'altro lato c'è la categoria delle formule efficienti. Tra queste spicca la serie ipergeometrica. All'interno di quella serie ce ne sono alcuni adatti a battere i record, essendo in grado di fornire molti decimali in un lasso di tempo relativamente breve. In effetti, la formula principale per il calcolo di π, nota come algoritmo di Chudnovsky, è una delle formule ipergeometriche.
Lavorando a stretto contatto con il team di StorageReview, abbiamo intrapreso anche la sfida della ricerca di queste formule, ovvero agendo sul primo strato per ottenere una serie ipergeometrica molto efficiente che permetta di trovare la formula più veloce conosciuta. Come si realizza ciò? È necessaria una configurazione multicore, si spera con il maggior numero di core fisici possibile, per applicare il calcolo distribuito poiché il processo richiede molto CPU ma può essere facilmente parallelizzato con una notevole riduzione dei tempi di calcolo. La nuova formula, in caso di successo, verrà utilizzata per battere il record di cifre decimali note per quella costante.
Abbiamo utilizzato un processore AMD Theadripper PRO 5995WX a 64 core e preparato degli script di codice su PARI-GP, una piattaforma per la teoria dei numeri dell'Università di Bordeaux (Francia), implementando un algoritmo di ricerca. L'obiettivo è identificare un insieme di interi a 64 bit che, inseriti nei parametri di una particolare serie ipergeometrica con una struttura fissa nota, producano la costante che stiamo cercando. A tale scopo, viene utilizzato l'algoritmo LLL, parte integrante di PARI GP, che ricerca relazioni lineari intere tra valori in virgola mobile a precisione multipla. Ulteriori dettagli matematici sono disponibili su mathoverflow.net.
Abbiamo iniziato prima con la costante ζ(5) = 1.036927755143… poiché non ha una formula conosciuta molto efficiente, ma si è rivelata molto sfuggente. Non siamo riusciti a trovare una formula conosciuta oltre la serie ipergeometrica unica, che, tra l'altro, non è abbastanza veloce. Dopo un paio di settimane senza successo, siamo passati a una serie ipergeometrica per i logaritmi.
In questo caso, abbiamo avuto successo, siamo riusciti a trovare gli algoritmi più veloci conosciuti per le costanti fondamentali log(2), log(3) e log(5) come descritto in questo blog.
Log(2) Ricerca di formule. Tutti i 64 core fisici sono occupati.
Cattura schermo. Trovata la serie Log(2) più veloce.
Log(2) Formula StorageReview G2 trovata
Dopo aver scoperto le formule, abbiamo preparato gli script per y-cruncher. Jordan Ranous di Storagereview ha progettato l'installazione per battere il numero di cifre decimali conosciute. In questo caso, un setup basato su 2x Intel Xeon Platinum 8460H e 512 GB di RAM SK Hynix.
Questa configurazione ha raddoppiato il record di cifre decimali per log(2) portandolo a 3 trilioni di cifre in sole 42.7 ore. Per verificare i decimali è stato applicato un secondo nuovo algoritmo, la formula G2 riportata di seguito, anch'essa presente nello StorageReview Lab, che ha richiesto 58.3 ore di wall time. Va notato che il precedente record del 2021 ha impiegato rispettivamente 98.9 e 61.7 giorni per il calcolo e la verifica di 1.5 trilioni di cifre decimali. Ciò significa un miglioramento dell'efficienza di circa 50 volte in 3 anni.
Siamo stati in grado di eseguire tutte le fasi necessarie per produrre risultati utili. Una nuova formula per una costante matematica, log(2), è stata scoperta utilizzando un'installazione appositamente adattata. Questa formula è stata quindi applicata a una configurazione personalizzata per battere il record del numero di cifre decimali note per questa particolare costante.
Le strutture di StorageReview hanno permesso di coprire l'intero processo di preparazione dei test al banco basati su calcoli numerici che sottopongono un sistema a forte stress. Questi esperimenti hanno testato con successo SSD, RAM e CPU fino all'estremo.
– Jorge Zuniga





Amazon