A dicembre il supporto iniziale di AMD Zen 4″znver4″è stato unito per il compilatore LLVM/Clang 16. Mentre il targeting”-march=znver4″ribalta almeno le istruzioni AVX-512 appena aggiunte con questi processori AMD, stava riutilizzando il modello di pianificazione esistente da Zen 3. Finalmente oggi è arrivato un modello di pianificazione Zen 4 ottimizzato per cosa si troverà nel compilatore LLVM 17 entro la fine dell’anno.
Il modello di pianificazione AMD Zen 4″znver4″messo a punto per questi nuovissimi processori AMD è stato unito pochi minuti fa a LLVM Git anziché riutilizzare il (non molto preciso) modello Zen 3 su queste nuove serie Ryzen 7000 ed EPYC 9004 processori di serie. Il modello di pianificazione è ottimizzato principalmente per i processori”Genoa”di quarta generazione EPYC 9004.
L’ingegnere del compilatore AMD Ganesh Gopalasubramanian ha commentato nella richiesta di unione:”La patch contiene i dettagli del modello di pianificazione znver4. Ci sono ampi miglioramenti rispetto a istruzioni, unità di esecuzione, latenze e throughput rispetto a znver3.”
Il nuovo commit è di 34.544 nuove righe nella base di codice LLVM–contando i nuovi casi di test e modello stesso. Purtroppo ha perso LLVM 16.0 che verrà rilasciato nei prossimi giorni, ma ora è unito per LLVM 17 e potrebbe potenzialmente essere sottoposto a back-porting per una versione minore di LLVM 16.0 se tutto va bene.
GCC 13 uscirà anche nelle prossime settimane con il suo supporto Zen 4 lavorato da AMD e SUSE. Per coloro che desiderano un compilatore pronto per la produzione in questo momento, AOCC 4.0 di AMD ha un ottimo supporto Zen 4 per quel downstream di LLVM/Clang. È un peccato, anche se ci sono voluti diversi mesi dopo il lancio-e LLVM 17.0 non verrà rilasciato fino a ~ settembre a meno che non venga eseguito il back-porting su una versione 16.0.x-prima che questo supporto ottimizzato per Znver4 sia pronto per l’ottimizzazione dei binari su Sistemi della serie Ryzen 7000 e della serie EPYC 9004.
A breve lavorerò su alcuni nuovi benchmark del compilatore Zen 4, data quest’ultima attività LLVM e i continui miglioramenti che sono stati introdotti per GCC 13.