Parallel Programming 0024 Matrix Multiplication Spring Semester 2010.

Slides:



Advertisements
Ähnliche Präsentationen
Cadastre for the 21st Century – The German Way
Advertisements

Service Oriented Architectures for Remote Instrumentation
Audacity.sourceforge.net audacity. ist ein kostenloses Programm, dass sowohl zur Audio- aufnahme als auch zur Bearbeitung genutzt werden kann. Es bietet.
IndraMotion MLC RoCo Electric Drives and Controls
1. 2 Microsoft.NET Überblick Dirk Primbs Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
© 2006 Open Grid Forum OGF26 - Chapel Hill, May 2009 Addressing Metadata Challenges OGF Digital Repositories RG.
Institut für Softwaresysteme in Wirtschaft, Umwelt und Verwaltung Folie 1 DER UMWELT CAMPUS BIRKENFELD ISS Institut für Softwaresysteme in Wirtschaft,
Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock Vorlesung Echtzeitbetriebssysteme.
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 Universität Dortmund Middleware Peter Marwedel TU Dortmund, Informatik 12 Germany.
Fakultät für informatik informatik 12 technische universität dortmund Hardware/Software Partitioning Peter Marwedel Informatik 12 TU Dortmund Germany Chapter.
Aufgabenbesprechung Programming Contest. Order 7 Bo Pat Jean Kevin Claude William Marybeth 6 Jim Ben Zoe Joey Frederick Annabelle 0 SET 1 Bo Jean Claude.
Dipl. Inf. (FH) Paul Mizel Compilerbau.NET Compiler / Codegeneratoren / Skriptsprachen.
Programmierkurs für absolute Anfänger Listen und Arrays Caren Brinckmann Sommersemester 2005.
Dynamische Programmierung (2) Matrixkettenprodukt
Algorithmentheorie 02 – Polynomprodukt und Fast Fourier Transformation
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Technische Informatik I (SS 2006) 1 Teil 5: Embedded Systems 5c: DSPs (Digitale Signal Prozessoren)
Lösung linearer Gleichungssysteme
OpenMP Präsentation im Rahmen des Seminars
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Übung zur Vorlesung Theorien Psychometrischer Tests I
Menüarten mobiler Anwendungen
Uebung 01 ANN mit MATLAB.
Model Driven Engineering SS 10 Prof. Albert Zündorf Fachgebiet für Software Engineering Wilhelmshöher Allee Kassel (Raum 1339)
Vortragender Messung des Erfolgs einer Website Subjektive Attraktivität Besuchsintensität Produktivität Finanzielle Maße
CTS2 based Terminology Server – Overview – Project eBPG
Wie Google Webseiten bewertet
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 4 Folie 2 Message Passing mittels Sockets (1) s.a.
Clustered Neuronal Network A C#.NET project for Compute Cluster Server 2003.
Institut AIFB, Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Towards Automatic Composition of Processes based on Semantic.
Luisa Ehrenzeller & Sarah Guidon. Artikel von Travel Inside Google gibt mit Hotelfinder Gas Gut sichtbar positioniert (seit 1. März 2013) Vorher.
Graphen Kombinatorik, Zufall, Algorithmen
GPU Computing Burim Kameri Fachhochschule Hannover (FHH)
GPU Computing Burim Kameri Fachhochschule Hannover (FHH)
Windows Azure Websites Roland Krummenacher Senior Software Engineer, bbv Software Services
2012 © Trivadis BASEL BERN LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MÜNCHEN STUTTGART WIEN Welcome November 2012 Highlights BI.
TechNet Schweiz – Herzlich Willkommen Microsoft Forefront Identity Manager 2010 R2 - effektives und nachhaltiges IT Service Management 2. Dezember 2011.
Visual Extend CPickAlternate Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 14 D.
Die Zählschleife int s = 0 for (int k=1; k
Apple vs. Samsung Patent- und Lizenzvertragsrecht I Christoph Becker | Christoph Bolliger.
Parallel Matrix Multiplication
Parallel Programming Proofs ( yay !)
Parallel Programming Parallel Matrix Multiplication
Patentierbarkeit von Pflanzen und Tieren
Seminar SE 2 st. Uni Klagenfurt: und TU Wien: 187
Nachhaltiger Tourismus. Das Unternehmen 2003 in Toronto gegründet Nonprofit-Organisation Zusammenarbeit mit G Adventures Respekt der lokalen Bevölkerung.
Algorithm Engineering Parallele Algorithmen Stefan Edelkamp.
Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Aus-drücke, arithmetische Operatoren.
Advanced Digital Design Übung 3. Aufgabe 1: Algorithmus für Phasen Inverter Plazierung Systematic approach: 1. Identify combinational logic and registers/memories.
Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
Deutsches Zentrum für Luft- und Raumfahrt e.V. German Aerospace Center Institut für Physik der Atmosphäre Atmosphärische Aerosole The Multi-Angle Absorption.
Statistisches Amt Kanton Zürich. Neues Data Warehouse beim Statistischen Amt des Kantons Zürich e-Government-Projekt e-Statistics April 2002 – Dez
Gruppenarbeit „APIs“ Wetterservice. Wetterservice aktuell Input Parameter: – Ort – Aktuelles Datum Output Parameter: – Wetterzustand – Temperatur in Grad.
Andreas Schuster Policy/Politik PV EU-Direktive von 2001: EET auf 21% der Stromerzeugung bis 2010 Quelle: Vorlesungsteil Erneuerbare Energieträger aus.
Data Mining Spectral Clustering Junli Zhu SS 2005.
Von Alexander Röhr Booten.
Snagit Ein „Allround-Programm“ für die Aufzeichnung von Bildschirm- Darstellungen verschiedenster Art, wie Bilder Filmsequenzen Texte Bilder in Web-Seiten.
Informationssysteme für Ingenieure Übung 8: XML Maria Husmann Büro: CNB E 104.1
Statistical Parametric Mapping
Software Engineering SS04 Paralleles Programmieren FH Aachen, Prof. Dr.-Ing. Michael Trautwein Andrej Kühnal, Perez-Otuno Rodrigo.
Stephanie Müller, Rechtswissenschaftliches Institut, Universität Zürich, Rämistrasse 74/17, 8001 Zürich, Criminal liability.
Hessischer Referenzrahmen Schulqualität
Parallel Programming Linearizability
K-SAT: Ein heuristischer Algorithmen- Vergleich Kann man den ‚Brute Force Search‘ Algorithmus schlagen?
Lineare Algebra Softwareprojekt: Anwendung von Algorithmen Sebastian Kürten, Philipp Borgers SoSe 2010.
SAS Backstage Biljana Gigić1, Andreas Deckert2
Fast Camera Tool Auf Prepare Phase warten Schwarzabgleich, Record
CSL211 Computer Architecture
 Präsentation transkript:

Parallel Programming 0024 Matrix Multiplication Spring Semester 2010

2 Gesucht Übungen von - Akousz - Loluca - Lruosch - Predalis - Tobiasho - Zuestm Webseite:

3 Parallel matrix multiplication Data partitioning based on Output matrix C Input matrix A and input matrix B

4 Output partitioning (2 threads) 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]; }

5 Input partitioning 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 ? A complete row is locked. Actual lock contention will be moderate to low. In practice the slow-down (resp to 1 st solution) is moderate ( few %)

7 Input partitioning, fine grain locking 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 dto Significant overhead About 3 x slower than coarse-grain locking

init(String[] args)main()init()main(String[] args) Eine Java Applikation startet in der Methode

init(String[] args)main()init()main(String[] args) Eine Java Applikation startet in der Methode

t.start()t.main()t.run()t.init() Um einen Thread t parallel zu starten muss welche Methode aufgerufen werden?

t.start()t.main()t.run()t.init() Um einen Thread t parallel zu starten muss welche Methode aufgerufen werden?

throw Eiffel(); throw Throwable();throw null;throw new Object(); Welcher Ausdruck ist in einem throw-Statement erlaubt?

throw Eiffel(); throw Throwable();throw null;throw new Object(); Welcher Ausdruck ist in einem throw-Statement erlaubt?

BLOCKEDRUNNABLENEWWAITING In welchem State ist ein neuer Thread t nach dem Aufruf t.run()?

BLOCKEDRUNNABLENEWWAITING In welchem State ist ein neuer Thread t nach dem Aufruf t.run()?

Was droht, wenn in einem System notify(), statt notifyAll() aufgerufen wird? StarvationLivelockDeadlockRace Condition

Was droht, wenn in einem System notify(), statt notifyAll() aufgerufen wird? StarvationLivelockDeadlockRace Condition

NullPointerExceptionInterruptedExceptionRuntimeException IllegalThreadState- Exception Welche dieser Exceptions ist eine Checked Exception?

NullPointerExceptionInterruptedExceptionRuntimeException IllegalThreadState- Exception Welche dieser Exceptions ist eine Checked Exception?

Nur, wenn sie in einer abstrakt. Klasse liegt NeinJa Nur, wenn sie in einer statischen Klasse liegt Kann die main() Methode überschrieben werden?

Nur, wenn sie in einer abstrakt. Klasse liegt NeinJa Nur, wenn sie in einer statischen Klasse liegt Kann die main() Methode überschrieben werden?

Volatile Variabeln können von Threads gecached werden I.d.R. sollte eher Runnable impl., statt Thread erweitert werden Eine innere Klasse kann von ihrer äusseren Klasse erben Java ist auch eine Insel Welche der folgenden Aussagen ist falsch?

Volatile Variabeln können von Threads gecached werden I.d.R. sollte eher Runnable impl., statt Thread erweitert werden Eine innere Klasse kann von ihrer äusseren Klasse erben Java ist auch eine Insel Welche der folgenden Aussagen ist falsch?

Alle non-static Methoden der Klasse werden gesperrt Alle Methoden mit synchronized im Kopf werden gesperrt Alle Methoden der Klasse werden gesperrt Alle non-static Methoden mit synchronized im Kopf werden gesperrt Was bewirkt synchronized(this) {... }?

Alle non-static Methoden der Klasse werden gesperrt Alle Methoden mit synchronized im Kopf werden gesperrt Alle Methoden der Klasse werden gesperrt Alle non-static Methoden mit synchronized im Kopf werden gesperrt Was bewirkt synchronized(this) {... }?

34 Wie viele Klassen Arten gibt es? (private, public, protected, abstract, final, static,...) [ohne strictfp] ???

34 Wie viele Klassen Arten gibt es? (private, public, protected, abstract, final, static,...) [ohne strictfp]