GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Punkt-zu-Punkt-Kommunikation Oswald Haan

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Blue J.
Message Passing Interface (MPI)
ixJED ixact GmbH Dr. Karsten Wendt
SOAP Simple Object Access Protocol
6.3 Ereignisbasierte Systeme Ereignis (event) : eine Ereignis-Quelle (event source, publisher) generiert Benachrichtigung (event notification), an der.
2.4 Kommunikationsdienste des Betriebssystems
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Einführung Blue J.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Nebenläufige Programmierung
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
Scripting Gems 7 Von Marcel Schotten Kurs: Softwaretechnologie II SS2013 Dozent: Prof. Dr. Thaller.
Bs Kommunikation Kommunikation zwischen Benutzerprozessen (IPK) stellt andere Anforderungen als auftragsorientierte Kommunikation in mikrokernbasierten.
Komplexe Systemlandschaft
Datenmanagement in Sensornetzen PRESTO - Feedback gesteuertes Datenmanagement - SS 2007 Sören Wenzlaff.
Matrix Multiplication on CUDA
Die Skriptsprache Python im Kontext des Softwareentwicklungsprozesses
Entwicklung von Peer-to-Peer-Anwendungen mit Hilfe der JXTA-Technologie Hauptseminar Wintersemester 2002/2003 Bearbeiter: Dirk Michael Betreuer: Dr. Ing.
Datenverteilung in Ad-hoc Netzen 1/24 Adaptive Datenverteilung in mobilen Ad-hoc Netzen unter Verwendung des Area Graph basierten Bewegungsmodells S. Bittner,
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Einführung Oswald Haan
Einführung in die Programmiersprache Java
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Punkt-zu-Punkt-Kommunikation Oswald Haan
Programmierung paralleler Algorithmen mit MPI
Wissenschaftliche Programmierung mit Python - für Meteorologie und Atmosphärenforschung Martin G. Schultz Teil 3: Numpy.
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Eine Einführung Oswald Haan
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Allgemeine Datentypen Oswald Haan
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Kollektive Operationen Oswald Haan
GWDG – Kurs Parallelrechner-Programmierung mit MPI – Oswald Haan
Parallel Programming Condition Queues
Eine Datei als Anlage beifügen
Projektstudium Chipkarten Gruppe Sign(PC+Karte)
Oswald Haan GWDG – Kurs Parallelrechner-Programmierung mit MPI Grundlagen der Parallelverarbeitung Oswald Haan
Travelling Salesman Problem (TSP)
C. Boehme, O. Haan, U. Schwardmann GWDG Übungen II Programmierung von Parallelrechnern.
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Kollektive Operationen Oswald Haan
IGreen Konnektoren.
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Bs Gemeinsame Datensegmente am Beispiel Solaris [Beachte: Unix/Linux setzen keine Hardware-Segmentierung voraus und sprechen daher statt von.
Java Programmierung.
Projektstudium Chipkarten
Erfassung Verwaltung Analyse Präsentation EVAP-Prinzip im GIS
2 NETZE Vielleicht ohne es zu merken, haben Sie in den letzten Wochen mit und in Computernetzen gearbeitet. Welche Netze das sind und was man über sie.
Hauptseminar 2001 „Parallele Programmierung in Java“ - JPVM- Java Parallel Virtual Machine Referent: Sebastian Steininger.
WWR-Praktikum Parallele Programmierung
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Kollektive Operationen Oswald Haan
Bewirtschaftung Zwei Möglichkeiten:  über Webmail von jedem beliebigem PC aus 
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Punkt-zu-Punkt-Kommunikation Oswald Haan
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Kollektive Operationen Oswald Haan
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Kollektive Operationen Oswald Haan
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
C. Boehme, O. Haan, U. Schwardmann GWDG Übungen II Programmierung von Parallelrechnern.
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Eine Einführung
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Einführung Oswald Haan
Einführung Blue J. Inhaltsverzeichnis  Definition  Vokabeln.
4.4 Sperrsynchronisation
1 Fotos per senden Computeria Wallisellen / Opfikon Erst Rev Bruno Widmer.
Medizinische Statistik und Informationsverarbeitung Quade Institut für Medizinische Biometrie, Informatik und Epidemiologie.
Fotos per senden Computeria Wallisellen Bruno Widmer.
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Kollektive Operationen Oswald Haan
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Punkt-zu-Punkt-Kommunikation Oswald Haan
Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.
Kollaboration & Kommunikation
Educanet2 Anleitung Gruppen-
Fotos per senden Computeria Wallisellen / Opfikon Erst Rev Bruno Widmer.
Shared Memory Programmierung: Grundlagen
Informatik II – Übung 4 Gruppe 3
 Präsentation transkript:

GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Punkt-zu-Punkt-Kommunikation Oswald Haan

Aufgabe 1: Parallelrechner-Programmierung mit MPI207. – (Alle Dateien im Verzeichnis Uebungen_f/MPI-p2p bzw. Uebungen_py/MPI-p2p ) Nachrichten verschicken: p2p_vector.f p2p_vector.f p2p_vector.py p2p_vector.py Untersuche die Fälle n_recv nsend Mit MPI_STATUS Eigenschaften der empfangenen Nachricht abfragen: p2p_status.f p2p_status.py p2p_status.fp2p_status.py Mit MPI_PROBE nrecv anpassen: p2p_probe.f p2p_probe.py p2p_probe.fp2p_probe.py

Aufgabe 2: Deadlock Parallelrechner-Programmierung mit MPI307. – Deadlock: Ringtausch langer Nachrichten: p2p_deadlock.f p2p_deadlock.py p2p_deadlock.f p2p_deadlock.py

Aufgabe 2: Deadlock vermeiden Parallelrechner-Programmierung mit MPI407. – Korrekter Ringtausch ohne Deadlock: Mit veränderter Reihenfolge von Senden und Empfangen Mit gepuffertem Senden: real*8 temp(nmaxlocl) integer bsize bsize = 8*nmaxlocl ! Buffer Size in Byte call MPI_BUFFER_ATTACH(temp,bsize,ierror)... call MPI_BSEND( sendvec, nl, call MPI_BUFFER_DETACH(temp,bsize,ierror)

Aufgabe 2: Bsend mit mpi4py Parallelrechner-Programmierung mit MPI507. – Mit gepuffertem Senden: buf = numpy.empty(nlmax,dtype = numpy.float64) MPI.Attach_buffer(buf)... Comm.Bsend( sendvec, dest=ipto)... MPI.Detach_buffer()

Aufgabe 2: Deadlock vermeiden Parallelrechner-Programmierung mit MPI607. – Korrekter Ringtausch ohne Deadlock: mit MPI_SENDRECV Syntax: MPI_SENDRECV( sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype,source, recvtag, comm, status )

Punkt-zu-Punkt-Nachrichtenaustausch mit pp_mpi.f pp_mpi.f Kompilieren mit makefile Lokale Kommunikationsleistung mpirun –n 4./pp_mpi.exe < pp.input Prozessoren auf verschiedenen Knoten bsub –n 4 –q kurs-mpi -R "span[ptile=1]" –a intelmpi mpirun.lsf./pp_mpi.exe < pp.input Aufgabe 3: Kommunikationsleistung Parallelrechner-Programmierung mit MPI707. –

Punkt-zu-Punkt-Nachrichtenaustausch mit pp_mpi.py pp_mpi.py Lokale Kommunikationsleistung mpirun –n 4 python./pp_mpi.py Prozessoren auf verschiedenen Knoten bsub –n 4 –q kurs-mpi -R "span[ptile=1]" –a openmpi mpirun.lsf python./pp_mpi.py Aufgabe 3: Kommunikationsleistung mit python Parallelrechner-Programmierung mit MPI807. –