Protean Compiler: Agiles Framework für fein abgestimmte Optimierungsreihenfolge
Der seit den 1970er Jahren bekannte Phase‑Ordering‑Wettbewerb bleibt ein offenes Problem, weil die Optimierungslandschaft riesig und unbeschränkt ist. Traditionell werden die Entscheidungen von Hand programmiert und müssen bei jeder Änderung der Benchmark‑Suite neu abgestimmt werden.
In den letzten zwei Jahrzehnten wurden Machine‑Learning‑Modelle eingesetzt, um die Auswahl und Reihenfolge von Compiler‑Optimierungen zu verbessern. Diese Ansätze sind jedoch meist nicht nahtlos in den Compiler integriert und greifen nicht auf feingranulare Code‑Segmente zu.
Der neue Protean Compiler löst dieses Problem, indem er LLVM um ein agiles Framework erweitert, das Phase‑Ordering auf sehr feiner Ebene ermöglicht. Das System enthält mehr als 140 handgefertigte Feature‑Sammlungsmethoden, die in unterschiedlichen Code‑Scopes arbeiten.
Experimentelle Tests zeigen, dass Protean durchschnittlich bis zu 4,1 % schneller läuft und bei ausgewählten Cbench‑Anwendungen bis zu 15,7 % mehr Geschwindigkeit erzielt – und das bei nur wenigen zusätzlichen Sekunden Build‑Zeit. Darüber hinaus lässt sich das Framework problemlos mit externen ML‑Frameworks und großen Sprachmodellen verbinden. Ein zweistufiger Optimierungsansatz liefert zusätzliche Geschwindigkeitsgewinne von 10,1 % und 8,5 % bei den Cbench‑Anwendungen Susan und Jpeg gegenüber dem LLVM‑Standard‑Optimierungslevel O3.