GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Einführung Oswald Haan

Slides:



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

Programmorganisation
Arbeitskreis Wissenschaftliches Rechnen Universität Duisburg-Essen
Webquests Abenteuerliche Spurensuche im Internet Christine Hagl, Lisa Stahl (Praxis)
PC-Cluster.
CD-ROMs im Netz Direkter Zugriff auf CD-ROMs via Web-Browser Hartmut Jörg.
Web-CMS der Universität Ulm
Hani Sahyoun, Rechenzentrum Universität Hohenheim
Imperative Programmierung -Entwicklungswerkzeuge
Erweiterung des Opterox- Clusters Fachbereich Physik & ZIM Universität Duisburg-Essen.
Werkzeuge und Softwareumgebung von Christian Michele.
Tomcat Web-Server installieren
Fachpraktikum Graphische Benutzungsoberflächen Sommersemester 2008 Steffen Koch, Christoph Müller, Guido Reina, Christiane Taras, Michael Wörner Versionsverwaltung.
Java: Grundlagen der Sprache
Suchmaschine vs. Katalog Such-Robots i.d.R. werden alle Seiten erfasst täglich werden mehrere Mio. Seiten besucht Redaktion relativ wenig Seiten erfasst.
OpenMP Präsentation im Rahmen des Seminars
Werkzeuge und Softwareumgebung von Christian Michele.
Sicher durchs Internet
Excel Kurs Teil I Excel starten, Verknüpfungen auf dem Desktop anlegen. F. Bäumer.
DVG Einführung in Java1 Einführung in JAVA.
Einstiegsunterricht - Informatik -. Möglichkeiten des Einstiegsunterricht Benutzung und Analyse eines dokumentierten Systems Einführung in die Programmierung.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Matrix Multiplication on CUDA
Installation FAQ-Forum Zope Basisinstallation Zusätzliche Module (Products) Grundkonfiguration Einrichten neuer Foren.
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Einführung Oswald Haan
Herzlich Willkommen zu „Einführung in die Programmierung mit Java“
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
INHALT INHALT Inhalt Delphi IDE ObjectPascal Hello World! Delphi IDE
Aufbau und Funktionsweise
Einführung in die Programmiersprache Java
Schultasche Digitale Schultasche Schilw KS Alpenquai
Clustered Neuronal Network A C#.NET project for Compute Cluster Server 2003.
Agenda Motivation Grundlagen der Matrix-Vektor-Multiplikation
Patrick Schmerlaib. Scriptsprachen: sind Programmiersprachen Verzichten auf Sprachelemente Vorteile: schnelle Erstellung kleiner Programme Flexible Sprache.
Präsentation von Sonja Pathe
EXist. Anforderungen - Java Development Kit (JDK) 1.6!!! - mit JDK 7 funktioniert es noch nicht -
IFB Speyer Daniel Jonietz dj 2 XAMPP - Was ist das? Paket mit: – X – Apache (Webserver) – MySQL oder SQLite (Datenbank) – Perl (Skriptsprache) –
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
Moodle in der Volksschule: 1
Oswald Haan GWDG – Kurs Parallelrechner-Programmierung mit MPI Grundlagen der Parallelverarbeitung Oswald Haan
Anwendungen Mikrocontroller
C. Boehme, O. Haan, U. Schwardmann GWDG Übungen II Programmierung von Parallelrechnern.
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Kollektive Operationen Oswald Haan
Modul „Dynamische Benutzerverwaltung“
Raspberry Pi Eine erste Übersicht.
Die Wärmelehre und das Teilchenmodell
Aufzeichnung von Usability-Daten im www. Client-Side Log : automatisch (maschinell) generiertes Protokoll Client : Rechner mit dem Browser des Users Server:
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Kollektive Operationen Oswald Haan
SFZ FN Sj. 13/14 Python 1 Grundlagen Inf K1/2 Sj 13/14
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
Backup der FTP-Daten mit BYSU (Back Your Space Up von George Ruinelli) Eine mögliche Variante, um FTP- Daten bei dem Provider „All-Inkl“ zu sichern.
Übung 2 - MdMT Methoden der Medizintechnik Übung zur Vorlesung Folge 2 – Basics Vom ersten Befehl zum Plot.
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Kollektive Operationen Oswald Haan
C. Boehme, O. Haan, U. Schwardmann GWDG Übungen II Programmierung von Parallelrechnern.
17. Mai 2006Autor: Walter Leuenberger Computeria Urdorf Treff vom 17. Mai 2006 Podcasting.
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI Eine Einführung
Java-Kurs Übung Benutzeroberflächen und Graphik
Die gemeinsame Datenbank Die Forschungsgemeinschaft Eisenbahngeschichte betreibt eine Datenbank im Internet, die nur für die Mitglieder der Forschungsgemeinschaft.
GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Punkt-zu-Punkt-Kommunikation Oswald Haan
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Zugriff vom Webserver auf Homepage1 Speicherplatz im zentralen Filesystem, AFS Web Server H:\public_html\index.html.
Schulungskonzept zur Einführung der amtlichen Schulverwaltungssoftware.
Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.
JAVA - Einführung. © Übersicht Hintergrund und Geschichte Wie sieht ein JAVA Programm aus ? Was ist ein JAVA Programm ? Wie schreibt/übersetzt.
Shared Memory Programmierung: Übungen
 Präsentation transkript:

GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Einführung Oswald Haan

Zugang zum GWDG-Cluster : –Notebook starten und Netzzugang einrichten –ssh-Client PuTTY laden: ~sgtatham/putty/download.html ~sgtatham/putty/download.html –und ausführen: putty.exe –startet xterm-Fenster auf gwdu102.gwdg.de –Mit Benutzerkennung + zugehörigem Passwort einloggen Zugang Parallelrechner-Programmierung mit MPI207. –

Beispiel-Programme Parallelrechner-Programmierung mit MPI307. – Alle Übungsbeispiele liegen in den Verzeichnissen ~ohaan/Uebungen_f ~ohaan/Uebungen_c ~ohaan/Uebungen_py Kopieren der Beispiele in ein eigenes Verzeichnis cp –r ~ohaan/Uebungen_py/*. Editieren, Übersetzen, Binden und Starten von Programmen auf dem Einwahl-Knoten gwdu102 Bearbeitung der Programme auf dem GWDG-Cluster in der LSF-Queue kurs-mpi oder kurs-fat

Die Kurs-Queues Parallelrechner-Programmierung mit MPI407. – kurs-mpi : gwdc001, gwdc002 je 16 cores gwdn001, gwdn002 je 8 cores kurs-fat:gwda001, gwda002 je 64 cores gwdp001, gwdp002, je 48 cores Weitere Informationen zu Batch-Verarbeitung im Wiki „Scientific Compute Cluster“ Scientific_Compute_Cluster

Aufgabe 1: Übersetzen und Binden Parallelrechner-Programmierung mit MPI507. – Dateien im Verzeichnis Uebungen_f/Start Umgebung für Intel-Compiler und Intel-MPI laden: > module load intel/compiler intel-mpi Module laden mit vorhandenem Script: >.../modules.x Sequentielles Programm hello.f > ifort -o hello hello.f >./hello MPI-paralleles Programm hello_mpi.f Übersetzen und Binden mit:hello_mpi.f > mpiifort –o hello_mpi.exe hello_mpi.f

Aufgabe 2: Starten paralleler Jobs Parallelrechner-Programmierung mit MPI607. – Interaktiv: > mpirun –n 2./hello_mpi.exe Mit LSF bsub: > bsub –n 8 –q kurs-fat –a intelmpi -o out.%J mpirun.lsf./hello_mpi.exe Mit LSF Skript: > bsub < lsf.joblsf.job #!/bin/sh #BSUB -q kurs-fat #BSUB -W 1:00 #BSUB -n 8 #BSUB -o out.%J #BSUB -a intelmpi mpirun.lsf./hello_mpi.exe

python-Aufgabe 1+2: Starten paralleler Jobs (1) Parallelrechner-Programmierung mit MPI707. – Dateien im Verzeichnis Uebungen_py/Start Umgebung für python und mpi4py laden: > module load intel/compiler intel/mkl openmpi/gcc python/site-modules Module laden mit vorhandenem Script: >.../modules.x Compilieren und Binden entfällt: python ist interpretierend Interaktiver Jobstart: > mpirun –n 2 python./hello_mpi.py

python-Aufgabe 1+2: Starten paralleler Jobs (2) Parallelrechner-Programmierung mit MPI807. – Mit LSF bsub: > bsub –n 8 –q kurs-fat –a intelmpi -o out.%J mpirun.lsf python./hello_mpi.py Mit LSF Skript: > bsub < lsf.job #!/bin/sh #BSUB -q kurs-fat #BSUB -W 1:00 #BSUB -n 8 #BSUB -o out.%J #BSUB -a intelmpi mpirun.lsf python./hello_mpi.py

Aufgabe 3: Zeitmessung Parallelrechner-Programmierung mit MPI907. – Real-Zeit (elapsed time) in sec. : MPI_WTIME() Genauigkeit in sec : MPI_WTICK() Übersetze Programm zeit_mpi.f (mit makefile ) zeit_mpi.f makefile Starte zeit_mpi.exe mit : > mpirun –n 1./zeit_mpi.exe mpi4py: Starte zeit_mpi.py mit : > mpirun –n 1 python./zeit_mpi.py

Aufgabe 4: Rechengeschwindigkeit Parallelrechner-Programmierung mit MPI1007. – Matrix-Vektor Multiplikation Übersetzung von dgemv.f time_dgemv.f mit makefile (im Verzeichnis Uebungen_f/MV-seq ) dgemv.ftime_dgemv.f makefile mit mpiifort, verschiedene Optimierungsstufen Abrollen, Abroll-Tiefe: 2,4,8 ( dgemv_u8.f ) dgemv_u8.f Einsatz von Bibliotheken: MKL module add intel/mkl Vergleiche mit max. Leistung von 9,6 Gflop/s (2,4 GHz Taktrate)

Aufgabe 4: Rechengeschwindigkeit mit mpi4py Parallelrechner-Programmierung mit MPI1107. – Matrix-Vektor Multiplikation im Verzeichnis Uebungen_py/MV-seq > python timing_mv.py Vergleiche mit max. Leistung von 9,6 Gflop/s (2,4 GHz Taktrate)