Codeoptimierung mit linearer Programmierung



Ähnliche Dokumente
4. Dynamische Optimierung

Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst

3. Grundlagen der Linearen Programmierung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Hardware/Software-Codesign

Anwendungen der Wirtschaftsmathematik und deren Einsatz im Schulunterricht

Lineare Gleichungssysteme

W-Rechnung und Statistik für Ingenieure Übung 11

Optimierung und Simulation ökonomischer Problemlagen privater Haushalte 3. Vorlesung

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

6.2 Scan-Konvertierung (Scan Conversion)

Übungsaufgaben Tilgungsrechnung

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Kosten-Leistungsrechnung Rechenweg Optimales Produktionsprogramm

Media Teil III. Begriffe, Definitionen, Übungen

Erfahrungen mit Hartz IV- Empfängern

Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II Thomas Brox, Fabian Kuhn

Lernmaterial für die Fernuni Hagen effizient und prüfungsnah

Bestimmung einer ersten

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Viele Bilder auf der FA-Homepage

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Eigenwerte und Eigenvektoren von Matrizen

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Die Verbindung von Linearer Programmierung und Graphentheorie

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Die Komplexitätsklassen P und NP

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Dann zahlt die Regierung einen Teil der Kosten oder alle Kosten für den Dolmetscher.

Grundbegriffe der Informatik

2. Negative Dualzahlen darstellen

1. EINLEITUNG 2. GLOBALE GRUPPEN Globale Gruppen anlegen

Einführung in. Logische Schaltungen

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

3. LINEARE GLEICHUNGSSYSTEME

Webseiten mit fragwürdigen Aufrufen von "spy & track" - Unternehmen

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Mathematischer Vorbereitungskurs für Ökonomen

Musterlösungen zur Linearen Algebra II Blatt 5

Einführung in die Programmierung

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Anwendertreffen 20./21. Juni

Schranken für zulässige Lösungen

Zusammenfassung der Vorlesung vom

Lehrer: Einschreibemethoden


Daten sammeln, darstellen, auswerten

Statuten in leichter Sprache

Welches Übersetzungsbüro passt zu mir?

Anmerkungen zur Übergangsprüfung

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

1. TEIL (3 5 Fragen) Freizeit, Unterhaltung 2,5 Min.

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

Österreichische Trachtenjugend

Optimierungsprobleme mit Nebenbedingungen - Einführung in die Theorie, Numerische Methoden und Anwendungen

Lineare Optimierung Ergänzungskurs

Arbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v.

R. Brinkmann Seite Schriftliche Übung Mathematik Stochastik II (Nachschreiber) Jan. 2007

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Internet online Update (Mozilla Firefox)

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Mathematische Modelle zur Optimierung von logistischen Prozessen. Schienengüter in der Region Rhein-Ruhr

Algorithmische Mathematik

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Inhaltverzeichnis 1 Einführung Zugang zu den Unifr Servern Zugang zu den Druckern Nützliche Links... 6

Mathematik-Klausur vom Finanzmathematik-Klausur vom

MINDMAP. HANDREICHUNG (Stand: August 2013)

Definition und Begriffe

IMS - Learning Design

Diana Lange. Generative Gestaltung Operatoren

LANGFRISTIGE HAUSAUFGABE (LINEARE GLEICHUNGSSYSTEME)

Download. Mathematik üben Klasse 8 Funktionen. Differenzierte Materialien für das ganze Schuljahr. Jens Conrad, Hardy Seifert

Verkehrsteilnehmer. Beispiel: Wir betrachten die Modellierung von Handlungskomponenten wie Verkehrsteilnehmern und Straßen.

Einführung in die Algebra

Bernadette Büsgen HR-Consulting

( ) als den Punkt mit der gleichen x-koordinate wie A und der

MARCANT - File Delivery System

Markovketten. Bsp. Page Ranking für Suchmaschinen. Wahlfach Entscheidung unter Risiko und stat. Datenanalyse

Pflegeberichtseintrag erfassen. Inhalt. Frage: Antwort: 1. Voraussetzungen. Wie können (Pflege-) Berichtseinträge mit Vivendi Mobil erfasst werden?

4.1 Wie bediene ich das Webportal?

4 Vorlesung: Matrix und Determinante

1 Darstellen von Daten

Gleichungen und Ungleichungen

Serienbrief mit Word erstellen

Technische Information Nr. 5 Seite 1

ACDSee 10. ACDSee 10: Fotos gruppieren und schneller durchsuchen. Was ist Gruppieren? Fotos gruppieren. Das Inhaltsverzeichnis zum Gruppieren nutzen

Bruchrechnung Wir teilen gerecht auf

Approximation durch Taylorpolynome

Einführung. Kapitel 1. Peter Becker (H-BRS) Operations Research I Sommersemester / 298

Betriebswirtschaftliches Beratungstool für Steuerberater Ziele, Inhalte und Struktur

Transkript:

Seminarvortrag Codeoptimierung mit linearer Programmierung Hannes Jaschitsch unh@rz.uni-arlsruhe.de 4.6.003 Inhalt Digitale Signalprozessoren (DSPs) Befehlsanordnung mit dem ritchen Pfad Lineare Programme Einführung Modellierung von Regterzuteilung und Befehlsanordnung Approximationen Ergebnse und Zusammenfassung Digitale Signalprozessoren (DSPs) Kopplungsprobleme Codeerzeugung eingesetzt in eingebetteten Systemen Signalverarbeitung Audio/Video CoDecs (FFT, DFT) Unregelmässige Architeturen verschiedene Speicherbäne, Haward Architetur. heterogene Regtersätze Instrutionen zur Parallelverabeitung (VLIW) Die meten Übersetzer nutzen die Prozessoren nicht effizient aus Codeseletion Optimale Abdecung der Zwchesprache Instrutionsanordnung Instrutionsanordnung Regterzuteilung Regter- Alloation/ Regter- Alloation Regterzuteilung Maximierung der Parallelverarbeitung 3 Minimierung der Speicherzugriffe zur Laufzeit 4

Befehlsanordnung mit dem ritchen Pfad Lineare Programme I Abhängigeitsgraph ASAP-Ordnung (as soon as possible) 1 1. 1 7 3. 4 3 4 5 3. 5 6 7 4. 6 Kritcher Pfad: 3 5 6 ALAP-Ordnung (as late as possible) 1.. 1 3 3. 4 5 4. 6 7 5 Grundlagen Mathematche Optimierungsmethode maximiere / minimiere lineare Kostenfuntion auf zulässigem Bereich dieser Bereich t durch Nebenbedingungen iniert, z.b. lineare Ungleichungen Es gibt zahlreiche mächtige Solver-Tools Regterzuteilung und Befehlsanordnung in einem homogenen Problem modellier- und lösbar. 6 Kleines Bepiel Lineare Programme II min 3x 1+ x u.d.n. x1 + x 5 x1 1 x1 + x 3 x1, x 0 x1, x IR x1, x hesen Entscheidungsvariablen x 1 0 1 P(1,) x1 7 Klassen von linearen Programmen LP (linear program) ILP, BLP (integer linear program, binary linear program) MILP (mixed integer linear program) LP s Können effizient (in polynomiellen Aufwand) gelöst werden. ILP s und BLP s Lösung NP-vollständig MILPs Natürlich ebenfalls NP-vollständig Werden zur Codeerzeugung verwendet. Lösungsdauer abhängig von #Variablen, #Bedingungen und Strutur

Codeerzeugung mit MILPs SILP Variablen inieren Ordnung der Operationen untereinander #Variablen O(n²), #Bedingungen O(n²) um Regterzuteilung erweiterbar OASIC Variablen legen den Ausführungstat für jede Anweung fest #Variablen O(n²), #Bedingungen O(n³) Regterzuteilung scheitert an der Komplexität der resultierenden Programme 9 Strutur von SILP Entscheidungsraum: Alle potentiell optimalen Programme, ob orret oder nicht. => Nebenbedingungen inieren orrete Programme. Korrete Programme im Sinne der Befehlsanordnung Weitere Einschränungen der Zielplattform Korrete Programme im Sinne der Regterzuteilung Korrete Programme 10 Modellierung der Befehlsanordnung Modellierung Befehlsanordnung I Basmodell: Resourcenflussgraphen Quelle ALUs R3 = R4+R5 R4 = R6+1 R5 = 404 Sene ALUs Entscheidungsvariablen x ij Sene R6 = [0x1f7f] Datenbusse Datenbusse Quelle R7 = [0x1f0] 11 Zielfuntion minimiere maxtate Einhaltung der Zeitschrane (I) (III) Flussbedingung t i maxtate Ausführungsbedingung (II) K in( i, ) = 1 Resourcenbeschränung out( q, ) R (IV) in (, i) = out (, i) i I i I K K, i I x ij t i R in( i, ) out( i, ) Anweung i gibt Resource an j Tat, in dem Anweung i beginnt Anzahl Resourcen vom Typ Eingangsgrad von i bzgl Resource Ausgangsgrad 1

Modellierung Befehlsanordnung II Wahrung der Abhängigeiten (V) Serialierungsbedingung (VI) t t t j j t z + ( x 1) α j i i ij K ij = z i asap j) + α t i t i w 0 i ( i, j) E U E ( i, j) E out anti ij true ( alap( i) t i x ij w j zi Tat, in dem Anweung i beginnt Anweung i gibt Resource an j Ausführungzeit von Anweung j Zeit zwchen möglichen Eingaben der Resource für Anweung i 13 Modellierung der Regterzuteilung Regterflussgraph Knoten sind Anweungen die in ein Regter schreiben Für jede Regtergruppe ein Quellnoten Nebenbedingungen Ausführungsbedingung, Resourcenbeschränung und Flussbedingungen wie vorher Neu: Lebenszeit einer Definition muss alle Verwendungen überspannen Neu: Serialierungsbedingung: Ein Regter darf erst beschrieben werden wenn seine Lebenszeit beendet t. 14 Approximationstechnien für SILP Weiterer Vorteil linearer Programme: Rundung Isolierte Flussanalyse Schrittwee Approximation der olierten Flussanalyse Untere Schranen für das Optimum berechenbar Graphenalgorithmen berechnen obere Schranen Damit ann man Lösungen bewerten, selbst wenn das Optimum nicht berechnet werden ann 15 16

Ergebnse I Experimente für den ADSP-106x Prozessor unter Einsatz von CPLEX Typche Testprogramme DFT, digitale Filter, Bildverarbeitung, Htogramm wenige Grundblöce (1-4) zwchen 1 und 49 Anweungen Ergebnse II Lösungsdauer Bestimmung des Optimums dauerte oft viele Stunden lang Mit Approximationstechnien b zu einer Stunde In Einzelfällen onnte nur die Befehlsanordnung modelliert werden Qualität der Approximationen Optimale Codesequenz fast immer gefunden Graph-basierte Verfahren im Schnitt 13% schlechter Untere Schranen Im Schnitt 14% unter tatsächlichem Optimum 17 1 Zusammenfassung Werbung Regterzuteilung und Instrutionsanordnung mit ILP zusammen modellierbar Untere Schranen für Optimum durch Relaxierung berechenbar Lösungen önnen gut roximiert werden. Einfache Anpassung an verschiedene Zielplattformen möglich Trotzdem sehr hohe Rechenzeiten, daher nur für ritche Programmabschnitte verwendbar. Die hier vorgeschlagenen Methoden sind von Daniel Kästner ausführlich untersucht worden (einfach mal googlen ;) Lineare Programme sind Gegenstand der Vorlesung Operations Research (diese t als Ergänzungsfach abrechenbar) Standardwer: Neumann, Morloc: Operations Research (Tipp: leihen, nicht aufen!) 19 0

Ergebnse III - Codequalität Dane! Fragen? 1 Name fir fir whetp3 whetp3 hto hto conv conv Modus +ra +ra +ra +ra +ra +ra Methode Codelänge - 7-14 0 1-31 17 17 untere Schrane 0% 6 14% 1 14% 16 0% 7 13% 1 9% Rechenzeit 1.69 sec 19.5 sec >4h 6 sec >4h 9 min 0 sec h 4 min 5.96 sec >4h 1h min h 1 min 53.66 sec Ergebnse IV Umfang der Programme Zum Vergleich: Name Modus Nebenbed. Binärvariablen Grösse(b) OASIC(b) fir +ra 4 675 5.94 769 161 77 4.15 01.3 +ra 606 950 9.37 697.1 405 14 14. 3.6 +ra 143 101 94.59 4555.34 whetp3 33 14 15.6 15.5 hto 716 434 9.66 175.3 conv 963 45 40.09 36.73 3