Bibliographic Metadata

Title
Software Pipelining in a C-Compiler / von Benedikt Lukas Huber
AuthorHuber, Benedikt Lukas
CensorKrall, Andreas
Published2008
Description78 Bl. : graph. Darst.
Institutional NoteWien, Techn. Univ., Dipl.-Arb., 2008
Annotation
Zsfassung in dt. Sprache
LanguageEnglish
Document typeThesis (Diplom)
Keywords (DE)Software Pipelining / VLIW / embedded
Keywords (EN)Software Pipelining / VLIW / embedded
URNurn:nbn:at:at-ubtuw:1-25657 Persistent Identifier (URN)
Restriction-Information
 The work is publicly available
Files
Software Pipelining in a C-Compiler [0.5 mb]
Links
Reference
Classification
Abstract (German)

Very long instruction word (VLIW) Prozessoren nutzen instruction level paralellism (ILP) um die Ausführungszeit von Programmen zu verkürzen, indem sie mehrere Operationen zeitgleich verarbeiten. Da das Scheduling, insbesondere die Parallelisierung, ausschließlich vom Compiler durchgeführt wird, sind durchdachte Algorithmen notwendig um die zur Verfügung stehenden Ressourcen effizient zu nutzen.

Software pipelining ist eine Technik um ILP in Basic-Block-Schleifen zu erhöhen, indem die Ausführung von aufeinanderfolgenden Iterationen überlappt wird.

Die Software-Pipelining-Heuristik, die wir für die LLVM Compiler-Infrastruktur implementiert haben, heißt swing modulo scheduling (SMS).

SMS erzeugt dichte Schedules und schafft es die Anzahl der nötigen Register und die Compile-Zeit niedrig zu halten.

Abstract (English)

Very long instruction word (VLIW) processors exploit instruction level parallelism (ILP) to reduce the execution time of programs by issuing multiple operations in parallel.

Since scheduling---especially parallelization---has to be done entirely by the compiler sophisticated algorithms are necessary to utilize the available resources efficiently.

Software pipelining is a scheduling technique to increase the ILP in basic block loops by overlapping the execution of consecutive iterations. The software pipelining heuristic we implemented for the LLVM compiler infrastructure is called swing modulo scheduling (SMS).

SMS creates dense schedules while keeping register pressure and compile time low.

Stats
The PDF-Document has been downloaded 35 times.