====== Praktikum „Paralleles Programmieren für Geowissenschaftler“ ====== ===== Beschreibung ===== Mit dem Praktikum „Paralleles Programmieren für Geowissenschaftler“ sollen die Studierenden der Geowissenschaften mit der Praxis des Parallelen Programmierens vertraut gemacht werden. Nach dem Auffrischen der FORTRAN Grundkenntnisse werden die theoretischen Konzepte zum parallelen Programmieren (MPI, OpenMP) vorgestellt und mit Hilfe von praktischen Übungen vertieft. Der praktische Teil wird durch die Einarbeitung in Werkzeuge zur Entwicklung und Bewertung von Anwendungen ergänzt. ===== Zielgruppe ===== Für Studierende im Masterstudiengang Meteorologie, Ozeanographie und Geophysik. Grundkenntnisse in FORTRAN sind erforderlich. ===== Daten der Veranstaltung ===== || Zeit || 8:15 || || Ort || [[http://maps.google.com/maps?q=DKRZ,+Bundesstra%C3%9Fe+45a,+20146+Hamburg&hl=de&cd=2&ei=BUxYS-GvKIuLOKaotbgJ&sig2=Kv8CBjHeXm8lAVC3XxRrIQ&ie=UTF8&view=map&cid=262423906154203330&ved=0CBsQpQY&hq=DKRZ,+Bundesstra%C3%9Fe+45a,+20146+Hamburg&hnear=&z=16&iwloc=A|DKRZ]], Raum 034 || || Beginn || Freitag 20. 4. 2012 um 8:15 in Raum 207, DKRZ 2. Stock || || Vorbesprechung || Di. 3.4.2012 15:00 im DKRZ, Raum 034 || || Mailingliste || [[http://wr.informatik.uni-hamburg.de/listinfo/ppg-12|PPG-12]] || ===== Dozenten ===== * [[People:Hermann Lenhart]] * [[People:Alumni:Ulrich KÖrner]] * [[People:Alumni:Nathanael Hübbe]] * [[People:Thomas Ludwig]] {{:teaching:sommersemester_2012:ppg-blatt9-mpi-proto-poisson.pdf|}} ===== Zeitplan und Materialien ===== * 20.04. FORTRAN Übersicht I -- {{:teaching:sommersemester_2012:ppg-12-FORTRAN-Intro1.pdf|Übersicht FORTRAN I}}{{:teaching:sommersemester_2012:ppg-12_01-einfuehrung-linux-cluster.pdf|Blatt01-Einführung Linux Cluster}} * 27.04. FORTRAN Übersicht II-- {{:teaching:sommersemester_2012:ppg-12-FORTRAN-Intro2.pdf|Übersicht FORTRAN I}}{{:teaching:sommersemester_2012:ppg-12_02-Einfache-FORTRAN-Programme.pdf|Blatt02-Einfache FORTRAN Programme}} * 04.05. Debugging sequentieller FORTRAN Programme -- {{:teaching:sommersemester_2012:ppg-12-fortran-Debugging.pdf|Einführung FORTRAN Debuggen}} {{:teaching:sommersemester_2012:ppg-12_03-FORTRAN-Debugging.pdf|Blatt03-Debugging Aufgaben}} {{:teaching:sommersemester_2012:pgg-12-blatt3-debugging-example.zip|Blatt03-Übungsprogramme zum Debuggen}} * 11.05. Makefiles {{:teaching:sommersemester_2012:ppg-12-Makefile.pdf|Einführung Makefiles}} {{:teaching:sommersemester_2012:ppg-12_04-poisson-problem.pdf|Blatt04-Poisson Problem}} {{:teaching:sommersemester_2012:ppg-12-blatt4-makefile-example.zip|Blatt04-Übungsprogramme zum Makefile}} {{:teaching:sommersemester_2012:ppg-12-programm-beispiele.zip|Beispiel-Programme für Makefiles}} * 25.05. OpenMP Einführung I {{:teaching:sommersemester_2012:ppg-12-openmp-intro1.pdf|Einführung I OpenMP}} {{:teaching:sommersemester_2012:ppg-12_05-openmp1.pdf|Blatt05-OpenMp 1}} {{:teaching:sommersemester_2012:ppg-12-blatt5.zip|Blatt05-Programme zu Übungsblatt 5}} * 08.06. OpenMP Einführung II {{:teaching:sommersemester_2012:ppg-12-openmp-intro2.pdf|Einführung II OpenMP}} {{:teaching:sommersemester_2012:ppg-12-blatt6-openmp-poisson.pdf|Blatt06-OpenMp 2}} * 15.06. MPI Einführung I {{:teaching:sommersemester_2012:ppg-12-mpi-intro1.pdf|Einführung I MPI}} {{:teaching:sommersemester_2012:ppg-12-blatt7-mpi-einfach.pdf|Blatt07-MPI 1}} * 22.06. MPI Einführung II {{:teaching:sommersemester_2012:ppg-12-mpi-intro2.pdf| Einführung II MPI}} {{:teaching:sommersemester_2012:ppg-12-blatt8-mpi-improved.pdf|Blatt08-MPI 2}} * 29.06. MPI Einführung III{{:teaching:sommersemester_2012:ppg-blatt9-mpi-proto-poisson.pdf|Blatt09-MPI 3}} {{:teaching:sommersemester_2012:jacobi-dummy-subroutines.zip|Beispiel-Programme für Prototypen}} * 06.07. MPI Einführung IV {{:teaching:sommersemester_2012:ppg-12-blatt10-mpi-sunshot.pdf|Blatt10-MPI-Sunshot}} * 13.07. MPI Einführung V ===== Literaturhinweise ===== * Tutorial [[http://wwwasdoc.web.cern.ch/wwwasdoc/WWW/f90/f90.html]] * Wikipedia F95 [[http://en.wikipedia.org/wiki/Fortran_95_language_features]] * Wiki-Tutorial [[http://de.wikibooks.org/wiki/Fortran]] * GNU-FORTRAN Guide [[http://gcc.gnu.org/onlinedocs/gfortran/]] * Liste günstiger Nachschlagewerke vom RRZ Uni-Hamburg. [[http://www.rrz.uni-hamburg.de/publikationen/handbuecher/vom-rrzn-hannover.html]] * davon für FORTRAN: [[http://www.rrzn.uni-hannover.de/buch.html?&no_cache=1&titel=fortran]] * Buch: Modern FORTRAN explained; Metcalf, Reid & Cohen, Oxford University Press 2011 * Buch: Fortran 95/2003 for Scientists adn Engineers, Stephen J. Chapman, McGraw Hill Higher Education, 3rd Edition * Katalog ZMAW Bibliotheks-Ausleihe für FORTRAN: [[https://kataloge.uni-hamburg.de/DB=1.20/CMD?ACT=SRCHA&IKT=1016&SRT=YOP&TRM=fortran]] * Allgemeine OpenMP Seite: [[http://openmp.org/wp/]] * OpenMP Spezifikationen: [[http://openmp.org/wp/openmp-specifications/]] Hinweis: Version 3.1 enthält als wichtiges neues Sprachmittel das Konzept "Task" * Kurzfassung wichtige OpenMP Direktiven: [[http://openmp.org/mp-documents/OpenMP3.1-FortranCard.pdf]] * Introduction to Parallele Programmierung in Fortran95 using OpenMP by Miguel Hermanns: [[http://www.openmp.org/presentations/miguel/F95_OpenMPv1_v2.pdf]] * Buch: Using OpenMP (Stand 2.5), Stephen J. Chapman, Gabriel Lost, Ruud van de Pas, MIT Press, Cambridge, Massachusetts, U.S.A. * Buch MPI: Using MPI, W. Gropp, E. Lusk, A. Skjellum, MIT Press, Cambridge, Massachusetts, U.S.A. * Kurzeinführung in MPI anhand von Beispielen: [[http://hamilton.nuigalway.ie/teaching/AOS/NINE/mpi-first-examples.html]] * MPI Standard: [[http://www.mpi-forum.org/docs/mpi-2.2/mpi22-report.pdf]]