Lp. |
Tematy |
Godz. |
1. |
Potrzeba obliczeń wysokowydajnych, dziedziny
zastosowań. Idea obliczeń równoległych |
0.5 |
2. |
Klasyfikacja komputerów wg Flynna, podział
komputerów wieloprocesorowych ze względu na pamięć.
Programowanie komputerów z pamięcią wspólną vs
programowanie komputerów z pamięcią rozproszoną (wady i
zalety). |
0.5 |
3. |
Równoległość wewnątrz procesora: potokowość
i
wektorowość. Wykorzystanie hierarchii pamięci. Podstawowe podprogramy
algebry liniowej (BLAS i ATLAS). Algorytmy blokowe i LAPACK. Nowe
struktury danych dla efektywnego wykorzystania pamięci podręcznej. |
1 |
4. |
Metody konstrukcji efektywnych algorytmów
równoległych przy użyciu BLAS-u: metoda Choleskiego (case
study), blokowe wersje eliminacji Gaussa. Algorytmy divide-and-conquer
rozwiązywania układów równań liniowych o
macierzach pasmowych. Obliczenia rekurencyjne. |
2 |
5. |
Programowanie komputerów z pamięcią
rozproszoną przy
użyciu MPI.
Proste programy typu SPMD - kompilacja i uruchamianie.
Tryby komunikacji w MPI.
Kolektywna komunikacja. Zaawansowane
wykorzystanie komunikatorów i topologii. Przykłady bardziej
zaawansowanych programów SPMD. Metody dystrybucji danych dla
obliczeń na komputerach z pamięcią rozproszoną. Język programowania Unified Parallel C. |
5 |
6. |
Modele i metody analizy programów
równoległych
i ograniczenia równoległości. Prawo Amdahla. Model
Gustafsona.
Model Hockney'a-Jesshope'a obliczeń wektorowych. Zastosowanie modeli do
predykcji czasu wykonania algorytmów oraz poszukiwania
algorytmów optymalnych. Uniwersalny model BSP obliczeń
równoległych. |
2 |
7. |
Programowanie komputerów z pamięcią
wspólną:
standard OpenMP.
Konstrukcje specyfikujące równoległość
obliczeń. Zrównoleglanie pętli i nieregularnych
obszarów
kodu. Konstrukcje umożliwiające synchronizację i tworzenie sekcji
krytycznych. |
3 |
8. |
Przykłady efektywnych podejść do rozwiązywania
problemów obliczeniowych. Wykorzystanie
bibliotek BLACS, PBLAS i ScaLAPACK do szybkiego tworzenia wydajnych
aplikacji. Przyszłość: GRID i obliczenia heterogeniczne. |
1 |