Programowanie współbieżne i rozproszone

Laboratorium. Fizyka 2/II; 2010-2011

  1. Lab 1. Java. Środowisko drJava.
  2. Lab 2. Java. Metody.
  3. Lab 3. Java. Wątki.
  4. Lab 3a. Java. Wątki. Uzupełnienie.
  5. Lab 4. Fortran. Program pierwiastki.f90
  6. Lab 5. Fortran. Prosty moduł.
  7. Lab 6. Praca na klastrze. Login. PBS.
  8. Lab 7. Moduł Oporniki. Arytmetyka zespolona. Funkcje wewnętrzne.
  9. Lab 8. Liczby pierwsze.
  10. Lab 9. Poszukiwacz
  11. Lab 10. Moduły. Przeciążanie operatorów. Kwaterniony.
  12. Lab 11. Przeciążanie procedur. Kwaterniony. cd.
  13. Lab 12. Pochodne. Wersja sekwencyjna.
  14. Lab 13. Hello - MPI. Wyścig do danych. Praca z ablicą (:,:). OpenMP
  15. Lab 13a. Pochodne. Wersja równoległa.
  16. Lab 14. MPI. Błądzenie przypadkowe. Programy rwalk.f90 oraz rwalk-p.f90
  17. Lab 14a. OpenMP. Program primes.f90
  18. Wszystkie programy razem(Programy)

Jak pracujemy? Co robimy? Jak wykonujemy ćwiczenia?

Obecności. Obecność na zajęciach laboratoryjnych jest obowiązkowa.
Opracowania ćwiczeń.

Termin składania opracowań upływa w przeddzień następnych ćwiczeń laboratoryjnych, przed godziną 15. Opracowania można zostawiać w sekretariacie Katedry Fizyki Teoretycznej, pok. 301 lub dostarczyć prowadzącemu laboratorium.

Java

Postępujemy według wskazań zamieszczonych w materiałach (Lab 1 - 4). Tematy ćwiczeń opracowujemy na papierze a4, najlepiej w postaci wydruków komputerowych. Rysunki, kod programów, wyniki itd. powinny być umieszczone kolejno, a nie w postaci dodatków do opracowań.

Fortran

  • Utwórz katalog mpi lub openmp (Jeśli np. rzecz idzie o MPI to mpi)
  • Wybierz program z listy programów ćwiczeniowych
  • Utwórz katalog o nazwie takiej jak wybrany program (np. md)
  • Zmień katalog na ostatnio utworzony
  • Skopiuj wybrany program do tego katalogu
  • Używając gfortran lub g95 lub innego dostępnego w środowisku translatora Fortranu dokonaj translacji kodu



    g95 (lub gfortran) nazwa_programu


  • uruchom przetranslowany program



    ./a.out (linux)



    lub



    nazwa_programu (windows)



  • Wykonaj wszystkie polecenia zawarte w opisie ćwiczenia.
  • Przedyskutuj wyniki (opisz wnioski w pliku tekstowym nazwa_programu.txt i umieść go w katalogu, w którym aktualnie pracujesz)

Programy ćwiczeniowe

Część programów, które są tutaj prezentowane podlega prawom licencyjnym zawartym w dokumencie GNU General Public License. Proszę o zapoznanie się z warunkami powyższej licencji i stosowanie się do jej postanowień.

MPI

  1. Programy w Fortranie 90.

    Pierwszy program: Circle.f90.

    Oporniki

    Kwaterniony

    Pochodne.

    Test pochodnych.

    Pierwszy równoległy program (Burkardt)

    Pierwsze pochodne. W. równoległa.

    Test pierwszych pochodnych. Wersja równoległa.

    Liczby pierwsze.

    Mnożenie: macierz razy wektor.

    Gaussowska metoda eliminacji.(w. równoległa)

    Model master-slave

    Błądzenie przypadkowe. Przykład.

    Błądzenie przypadkowe. Przykład. Wersja równoległa.

    BLAS - przykład.
  2. Liczby pierwsze.

    Napisz własną wersję programu zliczania liczb pierwszych w przedziale [1000000,5000000]; Porównaj czasy wykonania programu sekwencyjnego i programu równoległego dla różnej liczby procesów. Zrób wykres przyspieszenia w funkcji liczby procesów. Czy problem jest skalowalny?

  3. MPI -- Program J. Burkardta prime_mpi.f90
  4. Dynamika molekularna. Programy: (md1, md2, md3) md1.f90

    Zapoznaj się dokładnie z programem md1.f90 lub innym. Wykonaj obliczenia.

OpenMP

  1. Dynamika molekularna. Program równoległy OpenMP: Strona J. Burkardta

    Zapoznaj się dokładnie z programem md_open_mp.f90. Wykonaj obliczenia. Porównaj czas wykonania z czasem wykonania programu sekwencyjnego.