Programowanie współbieżne i rozproszone

Wykłady. Fizyka 2/II; 2010-2011

Tematy wykładów nie pokrywają się z jednostkami tematycznymi.
  1. Wstęp. Architektura komputerów. Wydajność obliczeń współbieżnych. Prawo Amdahla. Część 1.

    1. Charakterystyki elementarnych algorytmów równoległych. Część 1a.

    2. Prawo Amdahla cd. Dziel i zwyciężaj. Modele obliczeń: pamięć dzielona, pamięć rozproszona (zasoby). MPI. OpenMP. MPI - przykład "wyślij - odbierz". Inne proste przykłady. Część 2.

    3. Fortran 95. Wstęp. Podstawowe wiadomości - przypomnienie. Część 3.

    4. Fortran 95. Partie zaawansowane. Część 3a.

    5. Podstawy MPI. 6 Funkcji. Przykłady. hello.f90. Predefiniowane typy MPI. Komunikacja punkt-punkt. Część 4.

    6. Sześć podstawowych procedur MPI. Problemy komunikacji. Impas (pat; deadlock). Isend/recv. Nieblokujące komunikaty send/recv. Komunikaty kolektywne. Przykład obliczeń π. Reduce. Wdrożenia MPI. Część 5.

    7. Przykład: znajdowanie liczb pierwszych.(Gather, Gatherv) Część 5a.

    8. Powtórka z MPI. Proste algorytmy paralelizacji wybranych typów pęlli. Typy definiowane. Komunikatory. Grupy. Topologie wirtualne. do. Część 6.

    9. OpenMP. Wstęp. Dyrektywy. Przykłady. Część 7.

    10. OpenMP. Klauzule (warunki) w dyrektywach. Część 8.

    11. OpenMP. Funkcje czasu wykonania (run time). Zmienne środowiskowe. Część 9.

    12. Biblioteki oprogramowania sekwencyjne i równoległe. Program make. Kompilacja dużych projektów. Część 10.
    13. Metody obliczeń masowych. Model master-slave. Część 11.

    14. Równoległe wejście/wyjście w MPI. Jeszcze o komunikacji w MPI. Wybrane algorytmy. Metoda różnic skończonych w jednym i dwu wymiarach. Część 12.

    15. Dynamika molekularna w MPI i OpenMP. Równoległa metoda Monte-Carlo. Część 13.

    16. Uzupełnienia. MPICH2. Przykłady programów OpenMP, MPI i OpenMP+MPI. Część 14.

    17. Podsumowanie zajęć. Zaliczenia. Zakończenie.