Parallel Programming Parallel Matrix Multiplication

Slides:



Advertisements
Ähnliche Präsentationen
Adaptive Systeme Prof. Rüdiger Brause WS 2011.
Advertisements

Aufgabe: Wie stellt man eine for-Schleife durch eine while-Schleife dar ?
6. Der OpenMP Standard Direktiven-basiertes API zur Programmierung von Parallelrechnern mit gemeinsamem Speicher für FORTRAN, C und C++
Datentechnik13. Übung THS, 22.November 2006 Testen hochintegrierter Schaltungen Übung 3: SCOAP-Algorithmus (sequentiell) Ralph Weper.
Funktionen.
FOR Anweisung.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
V10: Bewegen der Formen und Kollisionserkennung Steuerung der Spielsteine durch Tastenbefehle (Übersicht der Befehle unter der Hilfe)
OpenMP Präsentation im Rahmen des Seminars
Diskrete Mathe II Übung
Parallele Gleichungslöser für die linearen TRACE-Module
- Übung - Ulf Leser Jörg Hakenberg
Matrix Multiplication on CUDA
© Alexander Schwing, 2010Institute of Visual Computing Informatik I for D-MAVT Exercise Session 2.
Parallel Programming 0024 Matrix Multiplication Spring Semester 2010.
Performance-Optimierung in JAVA
© Roland Angst, 2010Institute of Visual Computing Informatik I for D-MAVT Exercise Session 1.
Clustering mittels Grafikprozessor
© Roland Angst, 2012Institute for Visual Computing Exercise Session 1 Roland Angst,
A RBEITEN MIT T HREADS. P ROZESSE UND T HREADS Prozess Eine einzelne CPU kann immer nur einen einzelnen Prozess bearbeiten. Rechenzeit wird an Prozesse.
Adaptive Systeme Prof. Rüdiger Brause WS 2013.
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
GPU Computing Burim Kameri Fachhochschule Hannover (FHH)
Planung Prof. Dr. Bernd Schmidt Lehrstuhl für Operations Research und Systemtheorie, Universität Passau Planung.
Die Zählschleife int s = 0 for (int k=1; k
Rekursion Rekursive Funktionen, Korrektheit, Terminierung, Rekursion vs. Iteration, Sortieren.
Parallel Matrix Multiplication
Parallel Programming Proofs ( yay !)
Informatik 1 Übung 7.
Informatik 1 Übung 4.
Parallel Programming Condition Queues
Parallel Programming ( J ) CSP
Portabilität Seminar aus Softwareentwicklung: Programmierstil Christine Schiestl WS 02 / 03.
Algorithm Engineering „GPU Algorithmen“
Ein Vortrag von Simon Bayer
Beispiel 8.12 (Selbststudium) Corporate Finance Grundkurs II.
Μ Version 1.0Seite 1µVision Start Debugger Set Breakpoint µVision Debugger.
Algorithmen und Datenstrukturen Übungsmodul 1
Hardware / Software Codesign Hardware vs. Software: Maßnahmen zur Erreichung der Design-Ziele.
Arrays und ArrayLists In JAVA.
Informatik Grundlagen, Seminar 8 WS04 1 Informatik Grundlagen, WS04, Seminar 8 Informatik.
JOMP
Parallele Programmierung mit Java, SS 2001 Spar/Timber - Programmiersprache und Compiler für high-performance Berechnungen Technische Universität München.
Parallelisierung für Multiprozessor-Maschinen
Programmiervorkurs WS 2014/15 Methoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Arrays und ArrayLists In JAVA.
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
Lineare Verflechtung Kostenrechnung bei einer zweistufigen Produktion: Rohstoffe – Zwischenprodukte – Endprodukte.
Informationssysteme für Ingenieure Übung 8: XML Maria Husmann Büro: CNB E 104.1
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
EQUIcon Software GmbH Jena OpenVMS CPU-Performance auf CHARON-AXP Jörg Streit Emulatoren/Virtualisierung PDP-11, VAX, Alpha.
Software Engineering SS04 Paralleles Programmieren FH Aachen, Prof. Dr.-Ing. Michael Trautwein Andrej Kühnal, Perez-Otuno Rodrigo.
Diskrete Mathematik I Vorlesung 2 Arrays.
Parallel Programming OpenMP und JOMP
Parallel Programming Semaphores / Reader - Writer - Lock
Parallel Programming Linearizability
Diskrete Mathe II Übung IKG - Übung Diskrete Mathe II – Jörg Schmittwilken 2 Hinweis Heutige Übung zum Thema Floyd Donnerstag keine Vorlesung.
Aktueller Stand der Technik. Auf dem Markt sind heute bereits 64-Bit Mikrocontroller. Die meiste Verwendung finden allerdings noch immer die 8-Bit Modelle.
Antiquus 1320 Mathe Übung für Männer 07 Antiquus 1320 Mathe Übung für Männer :33:24 PPS Show Kicki.
Fachdidaktische Übungen Teil I, Stefan Heusler.
Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.
Lineare Algebra Softwareprojekt: Anwendung von Algorithmen Sebastian Kürten, Philipp Borgers SoSe 2010.
Verschachtelte Schleifen
Ultrakurzeinführung OpenCV
VERRÜCKT ! Dies ist eine kleine Mathe Übung die Dich mehr als einmal staunen lassen wird !!!
Senior-PC-Freunde-Nettetal
Lego Mindstorms Java mal anders
 Präsentation transkript:

Parallel Programming Parallel Matrix Multiplication

Übersicht 1. Nachbesprechung der Übung 5

1. NACHBESPRECHUNG ÜBUNG 5

Korrekt, oder? int z1 = (int) Math.ceiling(x); //x is int long z2 = (long) Math.ceiling(y); //y is long

Diskussion Ist die parallele Version schneller ? Wieviele Threads liefern die beste Performance ? Was ist der Einfluss von CPU - Modell / CPU - Taktfrequenz ?

Parallele Matrixmultiplikation Welche Operationen können parallel ausgeführt werden ? = x CAB

Partitionierung der Ausgabe Thread 0 for (i=0; i<N/2; i++) { for (j=0; j<N; j++) { for (k=0; k<N; k++) { c[i][j] += a[i][k]*b[k][j]; } Thread 1 for (i=N/2; i<N; i++) { for (j=0; j<N; j++) { for (k=0; k<N; k++) { c[i][j] += a[i][k]*b[k][j]; }

Source Code

Partitionierung der Eingabe Thread 0 for (i=0; i<N; i++) { for (j=0; j<N; j++) { synchronized (lock[i][j]) { for (k=0; k<N/2; k++) { c[i][j] += a[i][k]*b[k][j]; } Thread 1 for (i=0; i<N; i++) { for (j=0; j<N; j++) { synchronized (lock[i][j]) { for (k=N/2; k<N; k++) { c[i][j] += a[i][k]*b[k][j]; }

Overhead Über eine komplette Zeile locken. Wettstreit um einzelne Zeile in Wirklichkeit gering Nur wenig langsamer als erste Lösung ( wenige %)

Partitionierung de Eingabe (Lock über einzelne Elemente) Thread 0 for (i=0; i<N; i++) { for (j=0; j<N; j++) { for (k=0; k<N/2; k++) { synchronized (lock[i][j]) { c[i][j] += a[i][k]*b[k][j]; } Thread 1 ditto Riesiger Overhead ! Etwa 3 x langsamer als Lock über ganze Zeilen

FRAGEN?