Il mese scorso potresti ricordare la notizia di Intel con una libreria di ordinamento AVX-512 estremamente veloce che hanno pubblicato come open-source e hanno già trovato l’adozione dalla popolare libreria Numpy Python. Nel caso di Numpy potrebbe fornire accelerazioni di circa 10~17x. Quella libreria di sole intestazioni ha ora raggiunto la versione 1.0.
Intel ha rilasciato oggi x86-simd-sort 1.0 come questa libreria di file di intestazione C++ per l’ordinamento dei tipi di dati a 16/32/64 bit basato su SIMD. Attualmente questa libreria di sole intestazioni fornisce solo un’implementazione quicksort basata su AVX-512, mentre sarà interessante vedere se alla fine aggiungeranno AVX/AVX2 per rendere x86-simd-sort più robusto.
Con la versione 1.0 di x86-simd-sort è una pietra miliare contrassegnata per abbinare ciò che è stato caricato in Numpy. A partire dalla versione 1.0 è implementato il quicksort AVX-512 per i tipi di dati float16, uint16_t, int16_t, float, uint32_t, int32_t, double, uint64_t e int64_t.
Questa libreria Quicksort AVX-512 funziona con processori abilitati Intel AVX-512 e con i nuovi processori AMD Zen 4 (Ryzen serie 7000/4a generazione EPYC) che vantano anche AVX-512.
Saluti a Intel con tutto il loro continuo grande lavoro di software open source.
La versione 1.0 di questa libreria può essere scaricata da GitHub. Ora che è stata dichiarata la versione 1.0, sarà interessante vedere quali altri progetti software potrebbero decidere di utilizzare questo quicksort ottimizzato per AVX-512. Intel rende pubblica questa libreria con una licenza BSD a 3 clausole.