2025-11-20T05:01:15.151274

LOOPerSet: A Large-Scale Dataset for Data-Driven Polyhedral Compiler Optimization

Merouani, Boudaoud, Baghdadi
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.
academic

LOOPerSet: Ein großflächiger Datensatz für datengesteuerte polyedrische Compiler-Optimierung

Grundinformationen

  • Paper-ID: 2510.10209
  • Titel: LOOPerSet: A Large-Scale Dataset for Data-Driven Polyhedral Compiler Optimization
  • Autoren: Massinissa Merouani, Afif Boudaoud, Riyadh Baghdadi (New York University Abu Dhabi)
  • Klassifizierung: cs.PL (Programmiersprachen), cs.LG (Maschinelles Lernen), cs.PF (Leistung)
  • Veröffentlichungsdatum: 11. Oktober 2025 (arXiv-Preprint)
  • Paper-Link: https://arxiv.org/abs/2510.10209

Zusammenfassung

Die Entwicklung von Compiler-Optimierungen mit maschinellem Lernen im polyedrischen Modell wird durch die Knappheit großflächiger öffentlicher Leistungsdatensätze behindert. Dieser Datenmangel zwingt Forscher zu kostspieligen Datengenerierungsaktivitäten, verlangsamt Innovationen und behindert reproduzierbare Codeoptimierungsforschung. Um dieses Problem zu lösen, stellen die Autoren LOOPerSet vor – einen neuen öffentlichen Datensatz mit 28 Millionen gekennzeichneten Datenpunkten aus 220.000 eindeutigen synthetisch generierten polyedrischen Programmen. Jeder Datenpunkt ordnet ein Programm und komplexe semantikerhaltende Transformationssequenzen (wie Fusion, Skewing, Tiling und Parallelisierung) echten Leistungsmessungen (Ausführungszeit) zu. Die Größe und Vielfalt von LOOPerSet machen es zu einer wertvollen Ressource zum Trainieren und Evaluieren von Kostenmodellen, zum Benchmarking neuer Modellarchitekturen und zur Erforschung der Grenzen der automatischen polyedrischen Planung.

Forschungshintergrund und Motivation

Kernproblem

Das polyedrische Modell bietet ein starkes Framework zur Darstellung und Anwendung komplexer Schleifentransformationen, was für die Optimierung wissenschaftlicher Berechnungen und leistungsintensiver Anwendungen entscheidend ist. Die Hauptherausforderung besteht jedoch darin, durch den riesigen Suchraum legaler Transformationssequenzen zu navigieren und die Sequenz zu finden, die auf einer bestimmten Hardware-Zielplattform optimale Leistung bietet.

Bedeutung des Problems

  1. Einschränkungen traditioneller Methoden: Bestehende analytische Kostenmodelle und Heuristiken sind zwar allgemein und handhabbar, können aber die subtilen nichtlinearen Wechselwirkungen zwischen Optimierungen und dem zugrunde liegenden System nur schwer erfassen
  2. Potenzial datengestützter Methoden: Maschinelles Lernen kann durch Training mit großen Leistungsdaten ein differenzierteres Verständnis der Kosteneffizienz von Transformationen auf echter Hardware entwickeln
  3. Datenmangel-Engpass: Das Fehlen großflächiger öffentlicher Leistungsdatensätze behindert erheblich die Forschung an datengesteuerten Compiler-Optimierungen

Einschränkungen bestehender Methoden

  1. Hohe Datengenerierungskosten: Forschungsteams müssen kostspielige und zeitaufwändige Datengenerierungsaktivitäten durchführen
  2. Schlechte Reproduzierbarkeit: Das Fehlen öffentlicher Datensätze behindert strenge Methodenvergleiche
  3. Hohe Forschungshürden: Hohe Datenerfassungskosten hindern potenzielle Beitragstäter am Eintritt in das Feld

Kernbeiträge

  1. Großflächiger öffentlicher Datensatz: Konstruktion des LOOPerSet-Datensatzes mit 28 Millionen gekennzeichneten Datenpunkten aus 220.000 eindeutigen synthetischen polyedrischen Programmen
  2. Vielfaltssicherung: Mehrphasiger randomisierter Programmgenerator gewährleistet strukturelle Vielfalt und vermeidet Verzerrungen gegenüber spezifischen Benchmarks
  3. Relevanzgesteuerte Stichprobenentnahme: Relevanzgelenkte Transformationsraum-Stichprobenentnahme stellt sicher, dass der Datensatz praktisch nützliche Optimierungssequenzen enthält
  4. Strenge Validierung: Quantifizierung der Datensatz-Vielfalt und Neuheit durch standardisierte Baumbearbeitungsdistanz und andere Methoden
  5. Offener Zugang: Veröffentlichung unter permissiver Lizenz fördert reproduzierbare Forschung und senkt die Hürden für datengesteuerte Compiler-Optimierungen

Methodische Details

Aufgabendefinition

Konstruktion eines großflächigen, vielfältigen Datensatzes, wobei jeder Datenpunkt Folgendes umfasst:

  • Eingabe: Polyedrische Programmdarstellung + Transformationssequenz
  • Ausgabe: Echte Leistungsmessung auf Hardware (Ausführungszeit)
  • Einschränkungen: Alle Transformationen müssen semantische Korrektheit bewahren

Datengenerierungs-Pipeline

1. Programmraum-Stichprobenentnahme: Synthetischer Programmgenerator

Mehrphasiger Randomisierungsprozess:

Schleifenstruktur-Generierung:

  • Probabilistische Bestimmung der Anzahl der Schleifenverschachtelungen der obersten Ebene
  • Rekursive Konstruktion der Struktur jeder Verschachtelung
  • Generierung rechteckiger und nicht-rechteckiger (dreieckiger, trapezförmiger) Iterationsbereiche
  • Schleifengrenzen können Konstanten oder Funktionen äußerer Schleifeniteratoren sein

Berechnungsplatzierung und Anordnung:

  • Zufällige Platzierung von Berechnungen in Schleifenverschachtelungen
  • Mögliche Verschachtelung von Berechnungen und Unterverschachtelungen auf derselben Ebene
  • Zuweisung von Datentypen zu jeder Berechnung (32/64-Bit-Gleitkomma oder Ganzzahl)

Speicherzugriff und Ausdrucksgenerierung:

  • Speichermuster: Erstellung vielfältiger Speicherzugriffsmuster, von einfachen Identitätszuordnungen bis zu komplexen mehrdimensionalen Vorlagen (Stern-, Kreuzform) und konstanten Offset-Zugriffen
  • Arithmetische Ausdrücke: Konstruktion von Berechnungslogik durch zufällige Kombination von Ausdrucksbäumen, Kombination von Speicherzugriffen und Skalarwerten mit häufigen arithmetischen Operatoren und mathematischen Funktionen

Konsistenz- und Validierungsprüfungen:

  • Erkennung und Verhinderung trivialer Arbeit (redundante Schleifenberechnungen, tote Schreibvorgänge usw.)
  • Gewährleistung, dass synthetische Programme syntaktisch und rechnerisch sinnvoll sind

2. Transformationsraum-Stichprobenentnahme: Relevanzgesteuerte Erkundung

Verwendung des ausführungsgesteuerten Suchmechanismus des LOOPer-Automatikers für Strahlsuche zur Erkundung vielversprechender Sequenzen kritischer polyedrischer Optimierungen:

  • Schleifenfusion (Loop Fusion)
  • Skewing (Skewing)
  • Austausch (Interchange)
  • Umkehrung (Reversal)
  • Tiling (Tiling)
  • Parallelisierung (Parallelization)
  • Entfaltung (Unrolling)

Legalitätsprüfung: Verwendung standardisierter polyedrischer Abhängigkeitsanalyse zur Gewährleistung, dass alle Transformationssequenzen semantische Korrektheit bewahren.

3. Leistungs-Label-Generierung

  • Verwendung des Tiramisu-Compiler-Frameworks zur Generierung ausführbarer Dateien
  • Ausführung auf einem Dual-Socket Intel Xeon E5-2695 v2 Prozessorsystem
  • Ausführung jeder Programmversion bis zu 30 Mal zur Gewährleistung von Messstabilität
  • Aufzeichnung vollständiger Ausführungszeitlisten zur Berücksichtigung von Systemrauschen

Technische Innovationen

  1. Maximierung struktureller Vielfalt: Rekursiver probabilistischer Generierungsprozess gewährleistet breite Abdeckung der Programmstruktur
  2. Relevanzgesteuerte Stichprobenentnahme: Vermeidung der Ineffizienz zufälliger Stichprobenentnahme, Fokus auf Transformationssequenzen, die der Compiler berücksichtigen würde
  3. Quantifizierte Vielfaltsprüfung: Verwendung formaler Methoden wie standardisierter Baumbearbeitungsdistanz zur Validierung der Datensatzqualität
  4. Hardware-adaptive Gestaltung: Unterstützung von Vortraining und Transfer Learning zur Senkung der Anpassungskosten für neue Architekturen

Experimentelle Einrichtung

Datensatzgröße

  • Gesamtzahl der Programme: Etwa 220.000 eindeutige Programme
  • Gesamtzahl der Datenpunkte: Über 28 Millionen gekennzeichnete Beispiele
  • Planungen pro Programm: Median von 70
  • Datengenerierungs-Aufwand: Etwa 71.000 CPU-Stunden
  • Beschleunigungsbereich: 0,0004× bis 1230×

Hardware-Plattform

  • Zielarchitektur: Dual-Socket Intel Xeon E5-2695 v2 Prozessorsystem
  • Messmethode: Ausführung jeder Programmversion bis zu 30 Mal, Aufzeichnung der Ausführungszeitverteilung

Validierungsmethoden

  • Strukturelle Ähnlichkeit: Messung der strukturellen Ähnlichkeit zwischen Programmen mittels normalisierter Baumbearbeitungsdistanz (nTED)
  • Benchmark-Vergleich: Quantitative Vergleichsanalyse mit der PolyBench-Suite
  • Merkmalsraum-Analyse: Visualisierung des 20-dimensionalen Merkmalsraums mittels Hauptkomponentenanalyse (PCA)

Experimentelle Ergebnisse

Statistische Eigenschaften des Datensatzes

Strukturelle Vielfalt:

  • 14% der Programme enthalten mindestens einen nicht-rechteckigen Iterationsbereich
  • Schleifentiefe, Speicherzugriffsmuster und Verzweigungsfaktor zeigen Long-Tail-Verteilungen
  • Speicherauslastung, Basis-Ausführungszeit und Gesamtvolumen des Iterationsbereichs erstrecken sich über mehrere Größenordnungen

Leistungsverteilung:

  • Gemessene Beschleunigungsverhältnisse zeigen Spitzenverteilung, konzentriert um 1,0×
  • Der rechte Schwanz zeigt das Vorhandensein effizienter Transformationssequenzen
  • Der linke Schwanz erfasst schädliche Planungen

Validierungsergebnisse der Vielfalt

Vergleich mit PolyBench:

  • Keine Duplikate bestätigt: Minimale nTED-Distanz ist niemals Null, ähnlichste ist seidel-2d (nTED=0,022)
  • Breiterer Strukturraum: Mittlere Distanz zwischen synthetischen Programmen und Benchmarks (0,537) höher als mittlere Distanz innerhalb von PolyBench (0,467)
  • Merkmalsraum-Abdeckung: PCA-Visualisierung zeigt, dass PolyBench-Programme in dichtem Bereich der LOOPerSet-Merkmalswolke liegen

Verteilungsvergleich:

  • Kumulative Verteilungsfunktion zeigt, dass Distanzverteilung zwischen synthetischen Programmen und Benchmarks durchgehend unter der Distanzverteilung innerhalb von Benchmarks liegt
  • Deutet darauf hin, dass LOOPerSet einen breiteren und vielfältigeren Strukturraum als bestehende Benchmarks erforscht

Verwandte Arbeiten

Polyedrische Compiler-Optimierung

  • Traditionelle Methoden: PLUTO, PolyOpt, GRAPHITE und andere auf analytischen Kostenmodellen basierende Methoden
  • Lernmethoden: Tiramisu-Automatikers, TVM/Ansor, Halide-Optimierer und andere datengesteuerte Methoden

Leistungsdatensätze

  • Bestehende Einschränkungen: Mangel an großflächigen öffentlichen Leistungsdatensätzen für polyedrische Optimierungen
  • Verwandte Ressourcen: TpuGraphs und andere Leistungsvorhersage-Datensätze für Tensorberechnungsgraphen

Programmsynthese

  • Benchmarks: Einschränkungen standardisierter Benchmark-Suiten wie PolyBench
  • Synthesemethoden: Anwendung zufälliger Programmgenerierung in der Compiler-Forschung

Schlussfolgerungen und Diskussion

Hauptschlussfolgerungen

  1. Datenmangel-Lösung: LOOPerSet löst effektiv das Datenmangel-Problem in der polyedrischen Compiler-Optimierungsforschung
  2. Qualitätssicherung: Strenge Vielfaltanalyse und relevanzgesteuerte Stichprobenentnahme gewährleisten Datensatzqualität
  3. Gemeinschaftsressource: Bietet der Forschungsgemeinschaft eine sofort einsatzbereite großflächige Benchmark-Plattform

Einschränkungen

  1. Hardware-Spezifität: Leistungs-Label sind spezifisch für Intel Xeon E5-2695 v2 Architektur
  2. Einschränkungen synthetischer Programme: Obwohl vielfältig, können sie möglicherweise nicht alle echten Programmmuster vollständig abdecken
  3. Transformationsraum: Begrenzt auf Transformationstypen, die vom LOOPer-System unterstützt werden

Zukünftige Richtungen

  1. Erweiterung auf mehrere Architekturen: Generierung von Leistungs-Labels auf GPU und anderen CPU-Mikroarchitekturen
  2. Transfer-Learning-Forschung: Nutzung des Datensatzes zur Erforschung von Zero-Shot- oder Few-Shot-Generalisierung
  3. Neue Modellarchitekturen: Erkundung von GNN, Transformer und anderen neuen Kostenmodell-Architekturen
  4. Interpretierbarkeitsforschung: Analyse von Modellfehlern zur Verbesserung der Generalisierungsfähigkeit

Tiefgreifende Bewertung

Stärken

  1. Beispiellose Größe: 28 Millionen Datenpunkte sind in diesem Feld beispiellos
  2. Strenge Methodik: Mehrphasige Generierungs-Pipeline und quantifizierte Validierungsmethoden sind wissenschaftlich rigoros
  3. Hoher praktischer Wert: Relevanzgesteuerte Stichprobenentnahme gewährleistet praktischen Anwendungswert des Datensatzes
  4. Starke Offenheit: CC-BY 4.0 Lizenz und Hugging Face Plattform gewährleisten leichte Zugänglichkeit
  5. Reproduzierbarkeit: Detaillierte Datensatzformat-Spezifikationen und Tool-Unterstützung

Mängel

  1. Architektur-Abhängigkeit: Leistungs-Label auf einzelne Hardware-Plattform beschränkt
  2. Begrenzte Validierung: Mangel an Validierung in echten Anwendungen
  3. Generierungsverzerrung: Synthetische Programme können systematische Verzerrungen aufweisen
  4. Transformationsabdeckung: Transformationstypen durch bestehende Tool-Unterstützung begrenzt

Auswirkungen

  1. Akademischer Beitrag: Bietet Infrastruktur für datengesteuerte Compiler-Optimierungsforschung
  2. Praktischer Wert: Senkt erheblich die Einstiegshürden für neue Forscher
  3. Reproduzierbarkeit: Fördert Methodenvergleiche und Ergebnis-Reproduktion
  4. Langfristige Auswirkungen: Könnte das Feld in eine stärker datengesteuerte Richtung treiben

Anwendungsszenarien

  1. Kostenmodell-Training: Training und Evaluierung verschiedener maschineller Lernkostenmodelle
  2. Architektur-Vergleich: Benchmarking verschiedener Modellarchitekturen und Charakterisierungsmethoden
  3. Transfer Learning: Als Vortraining-Datensatz zur Unterstützung neuer Architektur-Anpassung
  4. Heuristik-Entdeckung: Entdeckung neuer Compiler-Heuristiken durch Data Mining
  5. Interpretierbarkeitsforschung: Analyse von Modellverhalten und Fehlermodi

Datensatz-Zugriffsinformationen

  • Zugriffsstelle: https://huggingface.co/datasets/Mascinissa/LOOPerSet
  • Datenformat: JSON Lines (.jsonl)
  • Lizenzvereinbarung: Creative Commons Attribution 4.0 International (CC-BY 4.0)
  • Versionsoptionen:
    • Vollversion: 28 Millionen Datenpunkte
    • Kompakte Version: 10 Millionen Datenpunkte (konsistent mit LOOPer-Paper-Experimenten)

Der LOOPerSet-Datensatz stellt einen wichtigen Meilenstein in der Forschung zur polyedrischen Compiler-Optimierung dar. Durch die Bereitstellung eines großflächigen, hochwertigen öffentlichen Datensatzes wird erwartet, dass er die Entwicklung in diesem Bereich erheblich vorantreibt und die Forschungshürden senkt. Seine rigorose Konstruktionsmethodik und offene Zugangsweise machen ihn zu einer wertvollen Ressource für zukünftige verwandte Forschung.