Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Einführung Oswald Haan"—  Präsentation transkript:

1 GWDG – Kurs Parallelrechner-Programmierung mit MPI MPI-Praxis Einführung Oswald Haan ohaan@gwdg.de

2 Zugang zum GWDG-Cluster : –Notebook starten und Netzzugang einrichten –ssh-Client PuTTY laden: http://www.chiark.greenend.org.uk/ ~sgtatham/putty/download.html http://www.chiark.greenend.org.uk/ ~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. – 08. 10. 2014

3 Beispiel-Programme Parallelrechner-Programmierung mit MPI307. – 08. 10. 2014 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

4 Die Kurs-Queues Parallelrechner-Programmierung mit MPI407. – 08. 10. 2014 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“ http://wiki.gwdg.de/index.php/ Scientific_Compute_Cluster

5 Aufgabe 1: Übersetzen und Binden Parallelrechner-Programmierung mit MPI507. – 08. 10. 2014 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

6 Aufgabe 2: Starten paralleler Jobs Parallelrechner-Programmierung mit MPI607. – 08. 10. 2014 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

7 python-Aufgabe 1+2: Starten paralleler Jobs (1) Parallelrechner-Programmierung mit MPI707. – 08. 10. 2014 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

8 python-Aufgabe 1+2: Starten paralleler Jobs (2) Parallelrechner-Programmierung mit MPI807. – 08. 10. 2014 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

9 Aufgabe 3: Zeitmessung Parallelrechner-Programmierung mit MPI907. – 08. 10. 2014 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

10 Aufgabe 4: Rechengeschwindigkeit Parallelrechner-Programmierung mit MPI1007. – 08. 10. 2014 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)

11 Aufgabe 4: Rechengeschwindigkeit mit mpi4py Parallelrechner-Programmierung mit MPI1107. – 08. 10. 2014 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)


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

Ähnliche Präsentationen


Google-Anzeigen