1 Energiebewusste Compilierung für digitale Signalprozessoren Markus Lorenz Peter Marwedel Universität Dortmund Lehrstuhl Informatik XII Projekt Prozessorarchitekturen.

Slides:



Advertisements
Ähnliche Präsentationen
Developing your Business to Success We are looking for business partners. Enterprise Content Management with OS|ECM Version 6.
Advertisements

Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Lösungsansätze zur automatischen Portierung von Internet-Inhalten für das interaktive Fernsehen Konzeption und Implementierung einer XHTML- Schnittstelle.
CPI Der einzelne Befehl braucht immer noch 5 Zyklen (stimmt nicht ganz, einige brauchen weniger!) Was verbessert wird, ist der Durchsatz = #Befehle /
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Technische Universität Dortmund
Technische Universität Dortmund
Mobile Lernende in verteilten Umgebungen (dSpace) Oliver Brand Learning Lab Lower Saxony (L3S) Hannover.
PADLR Submodul Modular Content Archives Ein Content Browser für Lehr- materialien aus der Elektrotechnik Dipl.-Ing. Mark Painter Institut für Nachrichtentechnik.
Fakultät für informatik informatik 12 technische universität dortmund Lehrstuhl Informatik 12 Technische Informatik/Eingebettete Systeme Arbeitsbereich.
Peter Marwedel Informatik 12
2.5 Vektorrechner & Multimedia-Erweiterungen
Fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/17 Graphics:
fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/10 Graphics:
Abteilung EHS Eingebettete Hardware-/Software-Systeme Prof. Dr. Wolfgang Nebel Carsten Beth PDA Hörgerät Entwicklung eines PDA-basierten Hörgerätes.
Kooperierende autonome Fahrzeuge
1 Technische Universität Darmstadt FG Mikroelektronische Systeme Prof. Dr. Dr. h.c. mult. Manfred Glesner Resonantes Umladen von Taktnetzwerken Clemens.
0 Energieeffiziente Compilierung für Digitale Signalprozessoren Markus Lorenz Peter Marwedel Rainer Leupers Projekt Prozessorarchitekturen und Compilertechniken.
Seminar Software-Engineering für softwareintensive Systeme
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Sortierverfahren Richard Göbel.
Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
Internet facts 2008-II Graphiken zu dem Berichtsband AGOF e.V. September 2008.
Studiengang Informatik FHDW
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof.
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 2 Rechnerarchitektur Peter B. Ladkin Wintersemester 2001/2002 Universität Bielefeld Technische Fakultät.
Vorlesung, Wintersemester 2009/10M. Schölzel 1 Optimierungstechniken in modernen Compilern Einführung.
Studienverlauf im Ausländerstudium
Datenmanagement in Sensornetzen PRESTO - Feedback gesteuertes Datenmanagement - SS 2007 Sören Wenzlaff.
EPIC, IA-64 und Itanium Eine Kurzpräsentation von Jan Hübbers bei Prof. Dr.-Ing. Risse im Fach Labor Rechnerstrukturen an der Hochschule Bremen
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Beschleunigung Virtueller Privater Netze durch Netzwerkprozessoren
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
2 Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
Institut für Theoretische Informatik TU Carolo-Wilhelmina zu Braunschweig Teamprojekt in Software Systems Engineering und Theoretischer Informatik Einsatz.
mittels Systemanalyse
20:00.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
AK Tools/Expertengruppe HiL Workshop Standardisierung HiL Status der Expertengruppe zum Thema Standardisierung Dr. Peter Rißling, BMW AG Version: 1.00.
Einführung in die Programmierung
Informatik 1 Übung 4.
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
DVB – H Digital Video Broadcasting – Transmission System for Handheld Terminals von Jens Heidrich Seminar : Multimedia-Protokollen für den Wohnzimmer-PC.
Optimierungstechniken in modernen Compilern
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Hardware / Software Codesign Hardware vs. Software: Maßnahmen zur Erreichung der Design-Ziele.
Vienna University of Technology Pirker Simon 1. Überblick Definition Motivation Vorteile Entwurf von VP Pirker Simon 2.
Lehrstuhl Informatik 12 Technische Informatik/Eingebettete Systeme Arbeitsbereich Marwedel - Lehrangebot, Forschung - Peter Marwedel Tel.: (0231)
Einführung in Optimierungsprobleme auf modernen Rechnerarchitekturen
Modellbasierte Software-Entwicklung eingebetteter Systeme
Eike Schallehn, Martin Endig
Migration der HLA aus militärischen in zivile Domänen Steffen Straßburger, Uni MD Übersicht Die Vergangenheit Die Gegenwart Die Zukunft (?)
Eine Unterrichtseinheit für die Sekundarstufe I Legoroboter im Schulzimmer.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Software Engineering SS04 Paralleles Programmieren FH Aachen, Prof. Dr.-Ing. Michael Trautwein Andrej Kühnal, Perez-Otuno Rodrigo.
Abschlusspräsentation SWT-Projekt - Gruppe 12 „Eco-Bank“
Lehrstuhl für Informatik 3 - D. Fey Vorlesung GRa - SS , Folie 1 Beispiel Stack-Architektur.
Fakultät für informatik informatik 12 technische universität dortmund Lab 2: Heterogeneous System Modeling in Ptolemy - Session 6 - Peter Marwedel Heiko.
Parallelising Molecular Dynamics for Message Passing Systems (complete) Martin Gerber
Technologietag Baugruppentest Wege der Standardisierung im Funktions- und EOL-Test Markus Koetterl National Instruments Germany GmbH.
Vom HW-Automaten zum Prozessor
Grundlagen der Rechnerarchitektur [CS ]
Compiler für Eingebettete Systeme [CS7506]
 Präsentation transkript:

1 Energiebewusste Compilierung für digitale Signalprozessoren Markus Lorenz Peter Marwedel Universität Dortmund Lehrstuhl Informatik XII Projekt Prozessorarchitekturen und Compilertechniken zur verlustarmen digitalen Signalverarbeitung

2 Projektübersicht DORTMUND: Schwerpunkt Compiler- techniken DRESDEN: Schwerpunkt Prozessor- architektur DSP-Compiler- Know-How DSP-HW- Know-How HW/SW-Exploration Energie-Kostenmodell HW-Ausnutzung Verbesserungsvorschläge Modell der Leistungsaufnahme Realisierbarkeit Teilziel Entwicklung energiebewusster Compilertechniken Teilziel Entwicklung energiebewusster Prozessorarchitekturen Gesamtziel Energiereduzierung prozessorbasierter DSP-Systeme

3 skalierbare Anzahl irregulärer Datenpfade SIMD/SISD Verarbeitung spezielle Speicher- schnittstelle AGU HW-Schleifen 4-stufige Pipeline mehrere Ansätze für Optimierungen M3-DSP Plattform: M3-DSP

4 Ziel: Entwicklung eines (energie-) optimierenden Compilers Handhabung der irregulären Prozessorarchitektur -Gruppenspeicher -Verbindungsnetzwerk -Datenpfad (SISD/SIMD-Verarbeitung) modulare Integration von (Energie-) Optimierungen -effektive Ausnutzung der Hardware-Ressourcen -Minimierung der Switchingaktivitäten Verwendung generischer Konzepte ( HW/SW-Exploration) Bedarf an geeigneter Compilerinfrastruktur neuen Optimierungstechniken phasengekoppelter Codegenerator ( letzter Workshop) Schleifen-Optimierungen ( heute) Compiler: Anforderungsanalyse

5 Compilierungsablauf C-SrcAsm Lance2 Frontend IR to GeLIR to Asm IR Standard- Optimierungen prozessorunabhängigprozessorabhängig GeLIR to Sim Sim GeLIR Codegenerierung Adresscode-Generierung Schleifen-Optimierungen - Vektorisierung - HW-Schleifen (ZOL) Energie- Daten GeLIR (Generic Low-Level Intermediate Representation) Darstellung prozessorspezifischer Informationen Austauschformat zwischen Optimierungsphasen Darstellung alternativer Maschinenprogramme

6 Vektorisierung: Beispiel (1) for(i = 0; i < 64; i++) { x = A[i]; x = x + 2; B[i] = x; } C-Code i = 0; // {SIMD_LDI, LDI} LOOP: t1 = A[i];// {SIMD_Load} t2 = t1;// {SIMD_DT, DT} x = t2 + 2;// {SIMD_Add, Add} B[i] = x;// {SIMD_Store} i = i + 1;// {SIMD_Add, Add} t3 = i < 64;// {Compare} if(t3) goto LOOP;// {JNE} GeLIR vor Vektorisierung Frontend Generierung von 3-Adresscode und Zerlegung von Schleifen Einfügen potentieller Datentransfers Erzeugung alternativer Maschinenprogramme

7 Vektorisierung: Beispiel (2) i = 0; // {SIMD_LDI, LDI} LOOP: t1 = A[i];// {SIMD_Load} t2 = t1;// {SIMD_DT, DT} x = t2 + 2;// {SIMD_Add, Add} B[i] = x;// {SIMD_Store} i = i + 1;// {SIMD_Add, Add} t3 = i < 64;// {Compare} if(t3) goto LOOP;// {JNE} GeLIR-Code vor Vektorisierung i = 0; // {LDI} LOOP: t1 = A[i];// {SIMD_Load} t2 = t1;// {SIMD_DT} x = t2 + 2;// {SIMD_Add} B[i] = x;// {SIMD_Store} i = i + 16;// {Add} t3 = i < 64;// {Compare} if(t3) goto LOOP;// {JNE} GeLIR nach Vektorisierung Reduzierung der Anzahl Schleifendurchläufe von 64 auf 4 Vermeidung des Overheads zur Gruppenhandhabung im SISD-Modus

8 HW-Schleifen: Beispiel GeLIR-Code nach Vektorisierung i = 0; // {LDI} LOOP: t1 = A[i];// {SIMD_Load} t2 = t1;// {SIMD_DT} x = t2 + 2;// {SIMD_Add} B[i] = x;// {SIMD_Store} i = i + 16;// {Add} t3 = i < 64;// {Compare} if(t3) goto LOOP;// {JNE} i = 0;// {LDI} zloop(4); LOOP: t1 = A[i];// {SIMD_Load} t2 = t1;// {SIMD_DT} x = t2 + 2;// {SIMD_Add} B[i] = x;// {SIMD_Store} i = i + 16;// {Add} zgoto LOOP; GeLIR mit HW-Schleifen HW-Loop Testen der Abbruchbedingung erfolgt durch Hardware gute Ergänzung zur Vektorisierung

9 Experimentelle Ergebnisse (1) rel. #Speicherzugriffe in % 95%96%46%-13%10%

10 Experimentelle Ergebnisse (2) rel. Zyklenzahl in % 95%96%51%11%30%

11 Experimentelle Ergebnisse (3) rel. Energieverbrauch in % 94% 49%8%17%

12 Experimentelle Ergebnisse (4) rel. Energieverbrauch in % 24% 17%19%

13 Projektziel: Energiereduzierung prozessorbasierter DSP-Systeme durch simultane HW- und SW-Entwicklung Zusammenfassung irreguläre Architekturen erfordern neue Compilertechniken Integration von Energiekostenmodell in Compiler und Simulator phasengekoppelter energiebewusster Codegenerator ( letzter WS) Ausblick: Verbesserung der Vektorisierung HW/SW-Exploration in Kooperation mit TU Dresden Heute: Schleifen-Optimierungen: Vektorisierung und HW-Schleifen aufwändige Analysen erforderlich Prozentuale Verbesserungen im Durchschnitt: Vektor: Speicherzugriffe: 47%, Zyklenzahl: 57%, Energie: 52% HW-Schleifen: Energie: 21% Integration der Optimierungen in allgemeine Compiler-Umgebung Einsatz der Techniken für andere Architekturen möglich