The advancement of machine learning for compiler optimization, particularly within the polyhedral model, is constrained by the scarcity of large-scale, public performance datasets. This data bottleneck forces researchers to undertake costly data generation campaigns, slowing down innovation and hindering reproducible research learned code optimization. To address this gap, we introduce LOOPerSet, a new public dataset containing 28 million labeled data points derived from 220,000 unique, synthetically generated polyhedral programs. Each data point maps a program and a complex sequence of semantics-preserving transformations (such as fusion, skewing, tiling, and parallelism)to a ground truth performance measurement (execution time). The scale and diversity of LOOPerSet make it a valuable resource for training and evaluating learned cost models, benchmarking new model architectures, and exploring the frontiers of automated polyhedral scheduling. The dataset is released under a permissive license to foster reproducible research and lower the barrier to entry for data-driven compiler optimization.
- ID Articolo: 2510.10209
- Titolo: LOOPerSet: A Large-Scale Dataset for Data-Driven Polyhedral Compiler Optimization
- Autori: Massinissa Merouani, Afif Boudaoud, Riyadh Baghdadi (New York University Abu Dhabi)
- Classificazione: cs.PL (Linguaggi di Programmazione), cs.LG (Apprendimento Automatico), cs.PF (Prestazioni)
- Data di Pubblicazione: 11 Ottobre 2025 (preprint arXiv)
- Link Articolo: https://arxiv.org/abs/2510.10209
Lo sviluppo dell'ottimizzazione dei compilatori basata su apprendimento automatico nel modello poliedrico è stato limitato dalla scarsità di dataset pubblici su larga scala per le prestazioni. Questo collo di bottiglia dei dati ha costretto i ricercatori a svolgere costose attività di generazione dei dati, rallentando l'innovazione e ostacolando la ricerca riproducibile sull'ottimizzazione del codice. Per affrontare questo problema, gli autori introducono LOOPerSet, un nuovo dataset pubblico contenente 28 milioni di punti dati etichettati, provenienti da 220.000 programmi poliedrici sintetici generati in modo univoco. Ogni punto dati associa un programma e complesse sequenze di trasformazioni semanticamente preservanti (come fusione, skewing, tiling e parallelizzazione) a misurazioni reali delle prestazioni (tempo di esecuzione). La scala e la diversità di LOOPerSet lo rendono una risorsa preziosa per l'addestramento e la valutazione di modelli di costo basati su apprendimento, il benchmarking di nuove architetture di modelli e l'esplorazione dei confini della pianificazione poliedrica automatica.
Il modello poliedrico fornisce un framework potente per esprimere e applicare complesse trasformazioni di cicli, essenziali per l'ottimizzazione del calcolo scientifico e delle applicazioni ad alte prestazioni. Tuttavia, la sfida principale risiede nel navigare l'enorme spazio di ricerca delle sequenze di trasformazioni legali per trovare quella che offre le migliori prestazioni su un dato target hardware.
- Limitazioni dei Metodi Tradizionali: I modelli di costo analitici e gli approcci euristici esistenti, sebbene generali e trattabili, faticano a catturare le sottili interazioni non lineari tra l'ottimizzazione e il sistema sottostante
- Potenziale degli Approcci Guidati dai Dati: I metodi di apprendimento automatico, addestrati su grandi quantità di dati sulle prestazioni, possono sviluppare una comprensione più sfumata dell'efficacia dei costi delle trasformazioni su hardware reale
- Collo di Bottiglia della Scarsità di Dati: L'assenza di dataset pubblici su larga scala limita gravemente la ricerca sull'ottimizzazione dei compilatori guidata dai dati
- Costo Elevato della Generazione dei Dati: I team di ricerca devono svolgere costose e lunghe attività di generazione dei dati
- Scarsa Riproducibilità: L'assenza di dataset pubblici ostacola il confronto rigoroso dei metodi
- Elevata Barriera d'Ingresso: L'alto costo della raccolta dei dati impedisce ai potenziali contributori di entrare nel campo
- Dataset Pubblico su Larga Scala: Costruzione del dataset LOOPerSet contenente 28 milioni di punti dati etichettati, provenienti da 220.000 programmi poliedrici sintetici univoci
- Garanzia di Diversità: Assicurazione della diversità strutturale attraverso un generatore di programmi randomizzato multistadio, evitando distorsioni verso specifici benchmark
- Campionamento Orientato alla Rilevanza: Adozione di una strategia di campionamento dello spazio di trasformazione guidata dalla rilevanza, garantendo che il dataset contenga sequenze di ottimizzazione effettivamente utili
- Validazione Rigorosa: Verifica della diversità e novità del dataset attraverso metodi quantitativi standardizzati come la distanza di edit degli alberi normalizzata
- Accesso Aperto: Rilascio con licenza permissiva per promuovere la ricerca riproducibile e ridurre le barriere all'ottimizzazione dei compilatori guidata dai dati
Costruzione di un dataset su larga scala e diversificato, dove ogni punto dati include:
- Input: Rappresentazione del programma poliedrico + sequenza di trasformazioni
- Output: Misurazione reale delle prestazioni su hardware (tempo di esecuzione)
- Vincoli: Tutte le trasformazioni devono preservare la correttezza semantica
Processo Randomizzato Multistadio:
Generazione della Struttura dei Cicli:
- Determinazione probabilistica del numero di annidamenti di cicli di livello superiore
- Costruzione ricorsiva della struttura di ogni annidamento
- Generazione di domini di iterazione rettangolari e non rettangolari (triangolari, trapezoidali)
- I limiti dei cicli possono essere costanti o funzioni degli iteratori dei cicli esterni
Posizionamento e Ordinamento del Calcolo:
- Posizionamento casuale del calcolo all'interno degli annidamenti di cicli
- Possibilità di intercalare calcoli e sotto-annidamenti allo stesso livello
- Assegnazione di tipi di dati a ogni calcolo (virgola mobile a 32/64 bit o interi)
Generazione di Accessi in Memoria e Espressioni:
- Modelli di Memoria: Creazione di modelli di accesso in memoria diversificati, da semplici mappature identità a complessi template multidimensionali (a stella, a croce) e accessi con offset costante
- Espressioni Aritmetiche: Costruzione della logica di calcolo attraverso la combinazione casuale di alberi di espressioni, integrando accessi in memoria e valori scalari, utilizzando operatori aritmetici comuni e funzioni matematiche
Controlli di Coerenza e Validazione:
- Rilevamento e prevenzione di lavoro banale (cicli di calcolo ridondanti, scritture morte, ecc.)
- Assicurazione che i programmi sintetici siano significativi sia sintatticamente che computazionalmente
Utilizzo del meccanismo di ricerca guidato dall'esecuzione dell'autoscheduler LOOPer per l'esplorazione tramite beam search di sequenze promettenti di ottimizzazioni poliedriche critiche:
- Fusione di Cicli (Loop Fusion)
- Skewing
- Interchange
- Reversal
- Tiling
- Parallelizzazione (Parallelization)
- Unrolling
Validazione della Legalità: Utilizzo dell'analisi delle dipendenze poliedrica standardizzata per assicurare che tutte le sequenze di trasformazioni preservino la correttezza semantica.
- Utilizzo del framework del compilatore Tiramisu per la generazione di file eseguibili
- Esecuzione su un sistema processore Intel Xeon E5-2695 v2 a doppio socket
- Esecuzione di ogni versione del programma fino a 30 volte per assicurare la stabilità della misurazione
- Registrazione dell'elenco completo dei tempi di esecuzione per affrontare il rumore del sistema
- Massimizzazione della Diversità Strutturale: Assicurazione di un'ampia copertura della struttura dei programmi attraverso un processo di generazione probabilistica ricorsiva
- Campionamento Orientato alla Rilevanza: Evitamento dell'inefficienza del campionamento casuale, focalizzazione su sequenze di trasformazioni che il compilatore effettivamente considererebbe
- Verifica Quantitativa della Diversità: Utilizzo di metodi formali come la distanza di edit degli alberi normalizzata per verificare la qualità del dataset
- Progettazione Adattiva all'Hardware: Supporto per l'apprendimento di trasferimento e il pre-addestramento, riducendo i costi di adattamento per nuove architetture
- Numero Totale di Programmi: Circa 220.000 programmi univoci
- Punti Dati Totali: Oltre 28 milioni di esempi etichettati
- Pianificazioni per Programma: Mediana di 70
- Sforzo di Generazione dei Dati: Circa 71.000 ore CPU
- Intervallo di Accelerazione: Da 0,0004× a 1230×
- Architettura Target: Sistema processore Intel Xeon E5-2695 v2 a doppio socket
- Metodo di Misurazione: Esecuzione di ogni versione del programma fino a 30 volte, registrazione della distribuzione dei tempi di esecuzione
- Similarità Strutturale: Misurazione della similarità strutturale tra programmi utilizzando la distanza di edit degli alberi normalizzata (nTED)
- Confronto con Benchmark: Analisi quantitativa comparativa con la suite PolyBench
- Analisi dello Spazio delle Caratteristiche: Visualizzazione dello spazio delle caratteristiche a 20 dimensioni utilizzando l'analisi delle componenti principali (PCA)
Diversità Strutturale:
- Il 14% dei programmi contiene almeno un dominio di iterazione non rettangolare
- La profondità dei cicli, i modelli di riferimento in memoria e il fattore di ramificazione presentano distribuzioni a coda lunga
- L'occupazione di memoria, il tempo di esecuzione di base e il volume totale del dominio di iterazione si estendono su più ordini di grandezza
Distribuzione delle Prestazioni:
- I rapporti di accelerazione misurati presentano una distribuzione appuntita, concentrata attorno a 1,0×
- La coda destra mostra l'esistenza di sequenze di trasformazioni efficienti
- La coda sinistra cattura i casi di pianificazioni dannose
Confronto con PolyBench:
- Conferma dell'Assenza di Duplicati: La distanza nTED minima non è mai zero, la più simile è seidel-2d (nTED=0,022)
- Spazio Strutturale Più Ampio: La distanza mediana tra i programmi sintetici e i benchmark (0,537) è superiore alla distanza mediana all'interno di PolyBench (0,467)
- Copertura dello Spazio delle Caratteristiche: La visualizzazione PCA mostra che i programmi PolyBench si trovano all'interno di un'area densa della nuvola di caratteristiche di LOOPerSet
Confronto delle Distribuzioni:
- Le funzioni di distribuzione cumulativa mostrano che la distribuzione delle distanze tra i programmi sintetici e i benchmark è continuamente inferiore alla distribuzione delle distanze all'interno dei benchmark
- Ciò indica che LOOPerSet esplora uno spazio strutturale più ampio e diversificato rispetto ai benchmark esistenti
- Metodi Tradizionali: PLUTO, PolyOpt, GRAPHITE e altri approcci basati su modelli di costo analitici
- Metodi di Apprendimento: Autoscheduler Tiramisu, TVM/Ansor, ottimizzatore Halide e altri metodi guidati dai dati
- Limitazioni Esistenti: Assenza di dataset pubblici su larga scala per l'ottimizzazione poliedrica
- Risorse Correlate: Dataset di previsione delle prestazioni dei grafi tensoriali come TpuGraphs
- Benchmark: Limitazioni delle suite di benchmark standardizzate come PolyBench
- Metodi Sintetici: Applicazione della generazione casuale di programmi nella ricerca sui compilatori
- Risoluzione del Collo di Bottiglia dei Dati: LOOPerSet affronta efficacemente il problema della scarsità di dati nella ricerca sull'ottimizzazione dei compilatori poliedrici
- Garanzia di Qualità: Assicurazione della qualità del dataset attraverso analisi rigorosa della diversità e campionamento orientato alla rilevanza
- Risorsa per la Comunità: Fornitura di una piattaforma di benchmark su larga scala immediatamente utilizzabile alla comunità di ricerca
- Specificità Hardware: Le etichette di prestazione sono specifiche dell'architettura Intel Xeon E5-2695 v2
- Limitazioni dei Programmi Sintetici: Sebbene diversificati, potrebbero non coprire completamente tutti i modelli dei programmi del mondo reale
- Spazio di Trasformazione: Limitato ai tipi di trasformazioni supportati dal sistema LOOPer
- Estensione Cross-Architettura: Generazione di etichette di prestazione su GPU e altre microarchitetture CPU
- Ricerca sul Trasferimento di Apprendimento: Utilizzo del dataset per studiare la generalizzazione zero-shot o few-shot
- Nuove Architetture di Modelli: Esplorazione di nuove architetture di modelli di costo come GNN e Transformer
- Ricerca sull'Interpretabilità: Analisi dei modelli di fallimento dei modelli, miglioramento della capacità di generalizzazione
- Scala Senza Precedenti: La scala di 28 milioni di punti dati è senza precedenti nel campo
- Metodologia Rigorosa: La pipeline di generazione multistadio e i metodi di validazione quantitativa sono scientificamente rigorosi
- Alto Valore Pratico: Il campionamento orientato alla rilevanza assicura il valore di applicazione pratica del dataset
- Forte Apertura: La licenza CC-BY 4.0 e la piattaforma Hugging Face assicurano l'accessibilità
- Riproducibilità: Specifiche dettagliate del formato dei dati e supporto degli strumenti
- Dipendenza dall'Architettura: Le etichette di prestazione sono limitate a una singola piattaforma hardware
- Validazione Limitata: Mancanza di validazione in applicazioni reali
- Distorsione della Generazione: I programmi sintetici potrebbero presentare distorsioni sistematiche
- Copertura delle Trasformazioni: I tipi di trasformazioni sono limitati dal supporto degli strumenti esistenti
- Contributo Accademico: Fornitura di infrastruttura per la ricerca sull'ottimizzazione dei compilatori guidata dai dati
- Valore Pratico: Riduzione significativa della barriera d'ingresso per i nuovi ricercatori
- Riproducibilità: Promozione del confronto dei metodi e della riproduzione dei risultati
- Impatto a Lungo Termine: Potenziale per spingere il campo verso un approccio più guidato dai dati
- Addestramento di Modelli di Costo: Addestramento e valutazione di vari modelli di costo basati su apprendimento automatico
- Confronto di Architetture: Benchmarking di diverse architetture di modelli e metodi di caratterizzazione
- Apprendimento di Trasferimento: Utilizzo come dataset di pre-addestramento per supportare l'adattamento a nuove architetture
- Scoperta di Euristiche: Scoperta di nuove euristiche del compilatore attraverso l'estrazione di dati
- Ricerca sull'Interpretabilità: Analisi del comportamento dei modelli e dei modelli di fallimento
- Indirizzo di Accesso: https://huggingface.co/datasets/Mascinissa/LOOPerSet
- Formato dei Dati: JSON Lines (.jsonl)
- Accordo di Licenza: Creative Commons Attribution 4.0 International (CC-BY 4.0)
- Selezione della Versione:
- Versione Completa: 28 milioni di punti dati
- Versione Compatta: 10 milioni di punti dati (coerente con gli esperimenti dell'articolo LOOPer)
Il dataset LOOPerSet rappresenta un importante punto di riferimento nel campo della ricerca sull'ottimizzazione dei compilatori poliedrici. Fornendo un dataset pubblico su larga scala e di alta qualità, è destinato a promuovere significativamente lo sviluppo del campo e a ridurre le barriere alla ricerca. La sua metodologia rigorosa e il suo approccio di accesso aperto lo rendono una risorsa preziosa per la ricerca futura correlata.