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

2 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 MPI223. –

3 Beispiel-Programme Parallelrechner-Programmierung mit MPI323. – Alle Übungsbeispiele liegen in den Verzeichnissen ~ohaan/Uebungen_f ~ohaan/Uebungen_c Kopieren der Beispiele in ein eigenes Verzeichnis cp –r ~ohaan/Uebungen_f/*. 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 MPI423. – 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

5 Aufgabe 1: Übersetzen und Binden Parallelrechner-Programmierung mit MPI523. – Dateien im Verzeichnis Uebungen_f/Zugang Umgebung für Intel-Compiler und Intel-MPI laden: > module add intel/compiler > module add intel-mpi Einfacher: vorgefertigte Datei ausführen: >../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 MPI623. – 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 Aufgabe 3: Zeitmessung Parallelrechner-Programmierung mit MPI723. – 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

8 Aufgabe 4: Rechengeschwindigkeit Parallelrechner-Programmierung mit MPI823. – 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 8,8 Gflop/s (2,2 GHz Taktrate)


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

Ähnliche Präsentationen


Google-Anzeigen