CPU simulators are vital for computer architecture research, primarily for estimating performance under different programs. This poses challenges for fast and accurate simulation of modern CPUs, especially in multi-core systems. Modern CPU peformance simulators such as GEM5 adopt the cycle-accurate and event-driven approach, which is timeconsuming to simulate the extensive microarchitectural behavior of a real benchmark running on out-of-order CPUs. Recently, machine leaning based approach has been proposed to improve simulation speed, but they are currently limited to estimating the cycles of basic blocks rather than the complete benchmark program. This paper introduces a novel ML-based CPU simulator named CAPSim, which uses an attention-based neural network performance predictor and instruction trace sampling method annotated with context. The attention mechanism effectively captures long-range influence within the instruction trace, emphasizing critical context information. This allows the model to improve performance prediction accuracy by focusing on important code instruction. CAPSim can predict the execution time of unseen benchmarks at a significantly fast speed compared with an accurate O3 simulator built with gem5. Our evaluation on a commercial Intel Xeon CPU demonstrates that CAPSim achieves a 2.2 - 8.3x speedup compared to using gem5 built simulator, which is superior to the cutting-edge deep learning approach
CAPSim: Un Simulatore Veloce delle Prestazioni della CPU Utilizzando un Predittore Basato su Attenzione
- ID Articolo: 2510.10484
- Titolo: CAPSim: A Fast CPU Performance Simulator Using Attention-based Predictor
- Autori: Buqing Xu, Jianfeng Zhu, Yichi Zhang, Qinyi Cai, Guanhua Li, Shaojun Wei, Leibo Liu
- Classificazione: cs.PF (Prestazioni)
- Data di Pubblicazione: 12 ottobre 2025
- Istituzioni: Scuola di Circuiti Integrati, Università Tsinghua
- Link Articolo: https://arxiv.org/abs/2510.10484v1
I simulatori della CPU sono essenziali per la ricerca in architettura dei computer, principalmente utilizzati per valutare le prestazioni di diversi programmi. I simulatori moderni delle prestazioni della CPU come GEM5 adottano approcci ciclo-precisi e guidati da eventi, ma richiedono tempi eccessivi nella simulazione di comportamenti microarchitetturali complessi di benchmark reali su CPU fuori ordine. Questo articolo propone CAPSim, un nuovo simulatore della CPU guidato da ML che utilizza un predittore delle prestazioni basato su reti neurali con meccanismo di attenzione, adottando un metodo di campionamento delle tracce di istruzioni con annotazioni contestuali. Il meccanismo di attenzione cattura efficacemente le influenze a lunga distanza nelle tracce di istruzioni, enfatizzando le informazioni di contesto critico. Gli esperimenti dimostrano che CAPSim raggiunge un'accelerazione di 2,2-8,3 volte rispetto al simulatore O3 costruito con gem5.
- Collo di bottiglia della velocità dei simulatori tradizionali: I simulatori moderni a livello di ciclo (come gem5) sono troppo lenti nella simulazione di programmi benchmark completi, per le seguenti ragioni:
- La simulazione ciclo-precisa è intrinsecamente un processo seriale, difficile da parallelizzare
- La simulazione di moderne CPU fuori ordine richiede la modellazione di tutti i dettagli microarchitetturali, con enormi costi computazionali
- Limitazioni dei metodi ML esistenti: I metodi di apprendimento automatico attuali (come Ithemal, Granite, ecc.) sono limitati alla previsione del throughput dei blocchi di base, non riuscendo a gestire la previsione delle prestazioni di programmi completi
- Equilibrio tra precisione e velocità: È necessario aumentare significativamente la velocità di simulazione mantenendo l'accuratezza della previsione
- I simulatori della CPU sono strumenti chiave per la ricerca in architettura dei computer
- Con l'aumento della complessità microarchitetturale della CPU e la diffusione dei sistemi multi-core, i metodi tradizionali di simulazione affrontano gravi problemi di efficienza
- La previsione veloce e accurata delle prestazioni è cruciale per la progettazione e l'ottimizzazione del co-design hardware-software
- Propone un metodo di previsione delle prestazioni della CPU basato su meccanismo di attenzione: Applica per la prima volta il meccanismo di attenzione alla previsione delle prestazioni a livello di istruzione, in grado di catturare le dipendenze a lunga distanza tra istruzioni, estendendo la capacità di previsione dal livello di blocco di base al livello di programma completo
- Progetta il framework completo del simulatore CAPSim: Integra un simulatore funzionale veloce e un predittore delle prestazioni di blocchi di codice a grana fine, realizzando un equilibrio tra velocità e precisione
- Sviluppa metodi di addestramento accelerato: Attraverso tecniche di clustering e campionamento, divide il dataset di addestramento in categorie come intensive di calcolo, intensive di memoria e intensive di controllo, riducendo significativamente il tempo di addestramento e prevenendo l'overfitting
- Realizza miglioramenti significativi delle prestazioni: Raggiunge un'accelerazione massima di 8,3 volte sui benchmark SPEC2017, con un'accelerazione media di 4,9 volte, mantenendo al contempo un'accuratezza di previsione accettabile
Input: Sequenza di traccia di istruzioni e informazioni di contesto della CPU (stato dei registri)
Output: Previsione del tempo di esecuzione di frammenti di codice
Obiettivo: Aumentare significativamente la velocità di valutazione delle prestazioni dei benchmark completi mantenendo l'accuratezza della previsione
CAPSim adotta un'architettura end-to-end che contiene i seguenti componenti:
- Simulatore AtomicSimple CPU: Genera rapidamente tracce di istruzioni
- Affettatrice di Sequenze di Istruzioni: Divide lunghe sequenze di istruzioni in frammenti di codice elaborabili
- Campionatore: Riduce la quantità di dati di addestramento, accelerando il processo di addestramento
- Predittore delle Prestazioni Basato su Attenzione: Modulo di previsione principale
L'articolo modella il tempo di esecuzione totale come:
Ttotal=∑n=1Nti⋅αi
dove ti è il tempo di esecuzione ideale della i-esima istruzione e αi è il fattore di influenza. Attraverso l'introduzione di rappresentazioni vettoriali e meccanismo di attenzione, la forma finale è:
Ttotal=∑i=1MMLP(Attention(contextM×E,TET,TET))
Livello di Trasformazione Normalizzata:
Converte le istruzioni assembly originali in sequenze di token normalizzate, contenenti quattro segmenti:
<OPCODE>: Codice operativo<DSTS>: Operandi di destinazione<SRCS>: Operandi di origine<MEM>: Informazioni di accesso alla memoria
Costruzione di Informazioni di Contesto:
Costruisce una matrice di contesto contenente informazioni di stato della CPU, come i vari registri mostrati nella Tabella I:
| Tipo di Registro | Quantità | Larghezza di Bit | Descrizione |
|---|
| Registri di Uso Generale (GPR) | 32 | 64 | Registri di archiviazione principale |
| Registri Scalari Vettoriali (VSR) | 64 | 128 | Registri di calcolo in virgola mobile |
| Registro di Condizione (CR) | 1 | 32 | Riflette i risultati dell'operazione |
| Contatore di Programma (CIA/NIA) | 2 | 64 | Indirizzo dell'istruzione |
Rete di Attenzione Multi-Livello:
- Codificatore di Istruzioni: Applica il meccanismo di auto-attenzione a ogni istruzione
- Codificatore di Blocchi: Elabora le relazioni di dipendenza tra sequenze di istruzioni
- Livello MLP: Output finale della previsione del tempo di esecuzione
- Modellazione di Dipendenze a Lunga Distanza: Rispetto ai modelli di sequenza come LSTM, il meccanismo di attenzione cattura meglio le dipendenze a lunga distanza tra istruzioni
- Previsione Consapevole del Contesto: Introduce lo stato dei registri della CPU come informazioni di contesto, migliorando l'accuratezza della previsione
- Progettazione di Attenzione Gerarchica: Doppio meccanismo di attenzione a livello di istruzione e di blocco, considerando sia le relazioni di token all'interno delle istruzioni che le dipendenze tra istruzioni
- Elaborazione Parallelizzata: Divide lunghe sequenze di istruzioni in piccoli frammenti, supportando l'elaborazione parallela su GPU, aumentando significativamente la velocità di inferenza
- Suite di Benchmark: SPEC2017, contenente 24 programmi benchmark
- Architettura del Set di Istruzioni: Power ISA
- Dimensione dell'Intervallo: 5.000.000 istruzioni, dimensione di riscaldamento 1.000.000 istruzioni
- Lunghezza dei Frammenti di Codice: 100-200 istruzioni
- Numero Totale di Checkpoint: 623
- Metriche di Velocità: Rapporto di accelerazione relativo al simulatore gem5
- Metriche di Precisione: Errore Percentuale Assoluto Medio (MAPE)
- Metodo Tradizionale: Simulatore processore superscalare O3 gem5
- Baseline ML: Modello Ithemal basato su LSTM
- Esperimenti di Ablazione: Variante CAPSim senza informazioni di contesto
- Piattaforma Hardware: NVIDIA GeForce RTX 4090 (24GB), Intel Xeon CPU E5-2623 v4
- Parametri del Modello: Dimensione del vettore di embedding 128, numero di teste di attenzione 4, numero di livelli dell'encoder 4
- Configurazione di Addestramento: Ottimizzatore SGD, tasso di apprendimento 0,001, momentum 0,9
- Parametri di Campionamento: Soglia 200, coefficiente di campionamento 0,02
Miglioramento della Velocità:
- Rapporto di accelerazione massimo: 8,3 volte (benchmark 510.parest)
- Rapporto di accelerazione medio: 4,9 volte
- L'effetto di accelerazione è correlato positivamente al numero di checkpoint, riflettendo i vantaggi della parallelizzazione su GPU
Prestazioni di Precisione:
- Miglioramento di 9,5%-21,2% rispetto al baseline LSTM, miglioramento medio di 15,8%
- Dopo l'introduzione di informazioni di contesto, miglioramento di precisione di 1,3%-9,6%, miglioramento medio di 6,2%
- MAPE medio di 12,0% sul dataset di addestramento misto
- Meccanismo di Attenzione vs LSTM: Il meccanismo di attenzione è significativamente superiore a LSTM nell'elaborazione di lunghi frammenti di codice
- Impatto delle Informazioni di Contesto: Le informazioni di contesto giocano un ruolo chiave nel miglioramento dell'accuratezza della previsione
- Effetto dell'Addestramento Classificato: L'addestramento classificato migliora la precisione dello 0,5% rispetto all'addestramento misto
Validazione Incrociata tra Benchmark:
- Esperimento di validazione incrociata 6×6, 36 combinazioni di addestramento-test
- Precisione del set di addestramento 91,3%, precisione media complessiva 88,3%
- Dimostra la buona capacità di generalizzazione del modello su benchmark non visti
Test di Parametri Architetturali Incrociati:
Prestazioni di precisione con diverse configurazioni di parametri microarchitetturali:
| Configurazione Parametri | FetchWidth | IssueWidth | CommitWidth | ROBEntry | Errore |
|---|
| Configurazione di Base | 8 | 8 | 8 | 192 | 12,0% |
| Variante 1 | 4 | 8 | 8 | 192 | 12,2% |
| Variante 2 | 8 | 4 | 8 | 192 | 12,9% |
- Effetto di Parallelizzazione Significativo: L'elaborazione parallela su GPU mostra vantaggi evidenti rispetto alla simulazione seriale su CPU
- Importanza delle Dipendenze a Lunga Distanza: Il meccanismo di attenzione cattura efficacemente le complesse relazioni di dipendenza tra istruzioni
- Informazioni di Contesto Critiche: Le informazioni di stato della CPU sono cruciali per la previsione accurata del tempo di esecuzione
- Efficacia dell'Addestramento Classificato: L'addestramento classificato secondo le caratteristiche del programma migliora la capacità di generalizzazione del modello
- Simulatori Ciclo-Precisi: gem5, SimpleScalar, Sniper, ecc., alta precisione ma velocità lenta
- Strumenti a Livello di Blocco di Base: llvm-mca, uiCA, IACA, ecc., velocità veloce ma funzionalità limitata
- Modelli di Regressione: Utilizzano regressione lineare/non lineare per prevedere CPI e consumo energetico
- Metodi di Apprendimento Profondo:
- Ithemal: Previsione del throughput dei blocchi di base con LSTM
- Difftune: Ottimizzazione dei parametri di llvm-mca
- Granite: Rete neurale grafica per la previsione delle prestazioni dei blocchi di base
- Campionamento Statistico: Campionamento periodico SMARTS
- Campionamento Mirato: Campionamento basato sul comportamento del programma SimPoint
I principali vantaggi di questo articolo rispetto ai lavori esistenti:
- Prima realizzazione della previsione delle prestazioni a livello di programma completo (non solo a livello di blocco di base)
- Utilizzo di simulatori ciclo-precisi come ground truth (non semplici strumenti del compilatore)
- Il meccanismo di attenzione modella meglio le dipendenze a lunga distanza
- Fattibilità Tecnica: Il metodo basato su meccanismo di attenzione può prevedere efficacemente le prestazioni della CPU per programmi completi
- Vantaggi di Prestazioni: Realizza un'accelerazione significativa rispetto al simulatore gem5 tradizionale (2,2-8,3 volte)
- Garanzia di Precisione: Mantiene un'accuratezza di previsione accettabile mentre aumenta significativamente la velocità
- Capacità di Generalizzazione: Il modello mostra una buona adattabilità a benchmark non visti e diversi parametri architetturali
- Compromesso di Precisione: Sebbene la velocità aumenti significativamente, l'accuratezza della previsione rimane inferiore rispetto ai simulatori ciclo-precisi specializzati (errore medio del 12%)
- Dipendenza dall'Architettura: L'implementazione attuale è basata su Power ISA, l'estensione ad altri set di istruzioni richiede riadattamento
- Requisiti di Dati di Addestramento: Richiede una grande quantità di dati etichettati per l'addestramento, con costi iniziali elevati
- Gestione di Scenari Complessi: Per comportamenti di programmi estremamente complessi e caratteristiche microarchitetturali, la capacità di previsione potrebbe essere limitata
- Supporto Multi-Architettura: Estensione a set di istruzioni mainstream come x86 e ARM
- Miglioramento della Precisione: Esplorazione di meccanismi di attenzione più avanzati e metodi di modellazione del contesto
- Supporto Multi-Core: Estensione alla previsione delle prestazioni di sistemi multi-core e eterogenei
- Apprendimento Online: Supporto per l'apprendimento adattivo a runtime e l'aggiornamento del modello
Innovazione Tecnica:
- Prima applicazione del meccanismo di attenzione Transformer nel campo della previsione delle prestazioni della CPU
- Combinazione innovativa di informazioni di contesto e modellazione di sequenze di istruzioni
- Progettazione di un framework di previsione end-to-end completo
Completezza Sperimentale:
- Valutazione completa sui benchmark standard SPEC2017
- Inclusione di esperimenti di ablazione dettagliati e test di capacità di generalizzazione
- Confronto con molteplici metodi baseline
Convincenza dei Risultati:
- Accelerazione significativa della velocità (accelerazione massima di 8,3 volte)
- Miglioramento dell'accuratezza rispetto ai metodi ML esistenti
- Buona capacità di generalizzazione tra benchmark
Chiarezza della Scrittura:
- Motivazione del problema ben articolata
- Descrizione del metodo dettagliata, con formule matematiche
- Configurazione sperimentale e presentazione dei risultati complete
Limitazioni del Metodo:
- L'accuratezza della previsione ha ancora spazio per miglioramenti (errore medio del 12%)
- Verificato solo su Power ISA, mancanza di verifica multi-architettura
- La capacità di gestione di scenari estremamente complessi non è stata sufficientemente verificata
Difetti nella Configurazione Sperimentale:
- Il confronto della piattaforma hardware potrebbe non essere completamente equo (GPU vs CPU)
- Mancanza di confronto con più metodi ML recenti
- Analisi insufficiente delle differenze di effetto di previsione per diversi tipi di programmi
Analisi Insufficiente:
- L'analisi dell'interpretabilità del meccanismo di attenzione non è sufficientemente approfondita
- Analisi dei casi di errore relativamente scarsa
- Analisi insufficiente del consumo di risorse computazionali
Contributi al Campo:
- Fornisce un nuovo percorso tecnico per la previsione delle prestazioni della CPU
- Promuove l'applicazione del ML nel campo dell'architettura dei computer
- Fornisce strumenti per l'esplorazione rapida dello spazio di progettazione dell'architettura
Valore Pratico:
- Aumenta significativamente l'efficienza della valutazione dei benchmark su larga scala
- Fornisce feedback rapido delle prestazioni per l'ottimizzazione del compilatore e la progettazione dell'hardware
- Riduce i costi temporali della ricerca in architettura dei computer
Riproducibilità:
- Descrizione del metodo relativamente dettagliata
- Utilizzo di suite di benchmark standard
- Ma alcuni dettagli di implementazione e codice non sono resi pubblici
- Esplorazione dello Spazio di Progettazione dell'Architettura: Valutazione rapida dell'impatto sulle prestazioni di diversi parametri di progettazione
- Ottimizzazione del Compilatore: Fornisce feedback rapido delle prestazioni per l'ottimizzazione del codice
- Accelerazione dei Benchmark: Riduce significativamente il tempo di esecuzione dei benchmark standard
- Insegnamento e Ricerca: Fornisce uno strumento di simulazione efficiente per corsi di architettura e ricerca
L'articolo cita 61 riferimenti correlati, principalmente includenti:
Simulatori Classici:
- gem5: The gem5 simulator (Binkert et al.)
- SimpleScalar, Sniper, Zesto e altri simulatori tradizionali
Metodi di Apprendimento Automatico:
- Ithemal: Accurate, portable and fast basic block throughput estimation (Mendis et al.)
- Granite: A graph neural network model for basic block throughput estimation (Sýkora et al.)
Meccanismo di Attenzione:
- Attention is all you need (Vaswani et al.)
- Ricerche correlate su Transformer
Benchmark:
- Suite di benchmark SPEC CPU2017
Valutazione Complessiva: Questo è un articolo innovativo e di valore pratico nel campo della previsione delle prestazioni della CPU. Gli autori hanno introdotto con successo il meccanismo di attenzione nella previsione delle prestazioni della CPU, realizzando una svolta dalla previsione a livello di blocco di base alla previsione a livello di programma completo, ottenendo un'accelerazione significativa della velocità. Sebbene ci sia ancora spazio per miglioramenti nell'accuratezza della previsione e nella generalizzazione del metodo, questo lavoro fornisce strumenti e idee di valore per la ricerca in architettura dei computer, con buone prospettive di applicazione.