Core Concepts
LOOPer ist der erste polyhedrale Autoscheduler, der ein tiefes lernbasiertes Kostenmodell verwendet und eine große Menge an affinen Transformationen und Programme abdeckt. Es unterstützt die Erkundung einer großen Menge an affinen Transformationen, was die Anwendung komplexer Folgen von polyhedralen Transformationen ermöglicht. Es unterstützt auch die Optimierung von Programmen mit mehreren Schleifen-Nestern und mit rechteckigen und nicht-rechteckigen Iterationsdomänen, was die Optimierung eines umfangreichen Satzes von Programmen ermöglicht.
Abstract
Der Artikel stellt LOOPer vor, einen neuen polyhedralen Autoscheduler, der eine tiefes lernbasiertes Kostenmodell verwendet, um eine große Menge an affinen Transformationen und Programme zu unterstützen.
LOOPer adressiert die Einschränkungen bestehender polyhedraler Autoscheduler wie Tiramisu, die nur eine kleine Teilmenge an affinen Transformationen und Programme mit einzelnen Schleifen-Nestern und rechteckigen Iterationsdomänen unterstützen.
LOOPer unterstützt stattdessen:
Eine große Menge an affinen Transformationen, einschließlich Folgen von Transformationen
Programme mit mehreren Schleifen-Nestern
Programme mit rechteckigen und nicht-rechteckigen Iterationsdomänen
Das ermöglicht die Optimierung eines umfangreichen Satzes von Programmen. LOOPer verwendet ein tiefes lernbasiertes Kostenmodell, um die Transformationen zu evaluieren und die Suche zu steuern.
Die Evaluation zeigt, dass LOOPer im Vergleich zu anderen Compilern wie Tiramisu und Pluto signifikante Leistungssteigerungen erzielt, mit einer durchschnittlichen Beschleunigung von 1,59x gegenüber Tiramisu und 1,34x gegenüber Pluto auf dem PolyBench-Benchmark.
Stats
LOOPer erzielt eine durchschnittliche Beschleunigung von 1,59x gegenüber Tiramisu auf dem PolyBench-Benchmark.
LOOPer erzielt eine durchschnittliche Beschleunigung von 1,34x gegenüber Pluto auf dem PolyBench-Benchmark.
Quotes
Keine relevanten Zitate gefunden.