Parallel Programming OpenMP und JOMP

Slides:



Advertisements
Ähnliche Präsentationen
Modellgetriebene Softwareentwicklung
Advertisements

6. Der OpenMP Standard Direktiven-basiertes API zur Programmierung von Parallelrechnern mit gemeinsamem Speicher für FORTRAN, C und C++
Imperative Programmierung -Entwicklungswerkzeuge
Objektorientierte Programmierung
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java: Grundlagen der Sprache
Cassey - Common Answer Set Evaluation sYstem Jean Gressmann Benjamin Kaufmann Robert Lenk.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 6 Model-View-Controler als Grundlage für Nutzerschnittstellen Sommersemester 2003 Lars Bernard.
OpenMP Präsentation im Rahmen des Seminars
Brandenburgische Technische Universität Cottbus Program Profiling Andrzej Filipiak Übung Testen von Software SoSe 2006.
Vorlesung, Wintersemester 2009/10M. Schölzel 1 Optimierungstechniken in modernen Compilern Optimierungstechniken für SMP- Architekturen.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
Packages Vortrag : Cornelia Hardt 23. November 1999.
DVG Einführung in Java1 Einführung in JAVA.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 6 Sitzung 6: Model-View-Controller als Grundlage.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Client Architecture Data Model GUI KI Socket Connection.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
SOMA Service-Oriented Mobile learning Architecture.
Grundkonzepte Java - Klassendefinition
AWT und JFC Abstract Windowing Toolkit
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Einführung in die Programmiersprache Java
Clustered Neuronal Network A C#.NET project for Compute Cluster Server 2003.
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Performance-Optimierung in JAVA
Patrick Schmerlaib. Scriptsprachen: sind Programmiersprachen Verzichten auf Sprachelemente Vorteile: schnelle Erstellung kleiner Programme Flexible Sprache.
Teil II Objekte ergeben ein Ganzes
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Java und Eclipse.
Präsentation von Sonja Pathe
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Die Zählschleife int s = 0 for (int k=1; k
Parallel Matrix Multiplication
Parallel Programming Parallel Matrix Multiplication
Informatik 1 Übung 4.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Beschreiben Sie eine Web Interaktion mittels Java Applets.
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Programmbereich, zu dem eine Deklaration gehört Arten von Gültigkeitsbereichen -Namespace : Deklarationen von Klassen, Interfaces, Structs, Enums, Delegates.
Letzte Chance!!! Exceptions Thread, Runnable Synchronized Wait, notify, notifyAll Thread States Semaphoren JCSP Swing JOMP Linearizability History Amdahl‘s.
JOMP
Parallelisierung für Multiprozessor-Maschinen Teil 2.
Parallelisierung für Multiprozessor-Maschinen
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
1 Tagesüberblick 6 Lösung Hausaufgabe/Fragen Weitere besondere Variablen Hier-Dokument Unterprogramme.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Java-Kurs Übung Benutzeroberflächen und Graphik
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
Software Engineering SS04 Paralleles Programmieren FH Aachen, Prof. Dr.-Ing. Michael Trautwein Andrej Kühnal, Perez-Otuno Rodrigo.
1 Bauhaus-Universität Weimar ArchitekturProgrammierung Generative Entwurfsmethoden Processing Grundlagen Professur Informatik in der Architektur.
Einführung in die Programmierung mit Java
Java-Kurs Übung Besprechung der Hausaufgabe
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
Parallel Programming Game of Life
Parallel Programming Linearizability
2.6 Erinnerung: Programmverwaltung Quellencode (getrennt übersetzbare Programmteile) (source code) Übersetzer (compiler, assembler) Objektcode
FLEET MANAGEMENT Wirtschaftsinformatik Projekt WS Benny Brand | Paul Fuchs | Gui Rong Ko | Boris Oechsle | Elizaveta Olar | Thomas Oppel | Matthias.
Java Programme nur ein bisschen objektorientiert.
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
Das Entwurfsmuster Model-View-Controller
Formaterkennung: DROID
File Objekt
Einführung in die Programmierung
Test Summary: ein Fehler pro Tag Test First
Shared Memory Programmierung: Übungen
 Präsentation transkript:

Parallel Programming OpenMP und JOMP

Übersicht 1. Nachbesprechung der Übung 9 2. OpenMP und JOMP

1. NACHBESPRECHUNG ÜBUNG 9

Application. java Game of Life MVC View / Controller Model. java Field. java oldState newState state setState getState Model Wieso funktioniert das so nicht ?

Application. java Game of Life MVC View / Controller Model. java Field. java oldState newState state Model setState SwingUtilities.invoke* GUI aktualisieren

Application. java Game of Life MVC View / Controller Model. java Field. java oldState newState state‘ Model copyState SwingUtilities.invoke* Modell aktualisieren oldState

Game of Life: der Code

2. OPENMP UND JOMP

Fork-Join for { } } Sequential code Parallel code Sequential code Parallel code Sequential code

OpenMP in Java = JOMP //omp parallel for [additional directives] for(int i = START; i < END; i += INC){ //the code } START, END und INC müssen Loop - Invariant sein Variablen, die innerhalb des loops deklariert werden, sind automatisch private. Variablen, die ausserhalb von // omp parallel deklariert werden sind automatisch shared.

JOMP: private/shared; critical int sum = 0; int temp; //omp parallel for private(temp) shared(sum) for(int i = 0; i < 500; i++){ temp = i*5; //omp critical { sum += temp; }

JOMP verwenden 1. jomp 1.0 b. jar zum CLASSPATH hinzufügen 2. JOMP - Compiler aufrufen via java jomp.compiler.Jomp NameOfFile 3. Java - Compiler aufrufen via javac *.java 4. Programm ausführen via java “-Djomp.threads=N” NameOfFile

WTF is “CLASSPATH”? Umgebungsvariable  Analog zu PATH unter Unix / Windows  Zuweisen in cmd. exe set CLASSPATH = jomp 1.0 b. jar ;.  Zuweisen in Psh $env : CLASSPATH = “jomp 1.0 b. jar ;. ”  Zuweisen in bash ihr wisst das besser als ich :- P Enthält ‘;’- getrennte Liste von Verzeichnissen und *. jar - Dateien, die Java durchsucht

OMG?!  Kurzes Beispiel

So in Ordnung? int[] a = new int[50]; int b; //omg parallel for lastprivate(b) for(int i = 0; i < a.length; i++){ a[i] = b++; } System.out.println(b);

FRAGEN?