Literatura uzupelniająca: |
1. Programming massively parallel processors: a hands-on approach,
David B. Kirk, Wen-mei W. Hwu., Morgan Kaufmann Publ., 2010.
2. Guerraoui R., Rodrigues L. Introduction to Reliable Distributed
Programming, Springer-Verlag, 2006
|
Literatura: |
1. Sztuka programowania wieloprocesorowego, Maurice Herlihy, Nir Shavit ; przekł. z jęz. Ang.: Maciej Baranowski, PWN, 2010
2. M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego, WNT, 1990
|
Efekty uczenia się: |
W1. Student zna i rozumie podstawowe pojęcia i algorytmy związane z przetwarzaniem równoległym i rozproszonym. (K_W11)
W2. Ma wiedzę o istniejących rozwiązaniach sprzętowych, oprogramowaniu, językach programowania pozwalających na modelowanie i symulację z wykorzystaniem technik przetwarzania równoległego i rozproszonego (K_W13)
W3. Rozumie zalety stosowania przetwarzania równoległego i rozproszonego w technice i inżynierii i jednocześnie ma wiedzę w zakresie istniejących ograniczeń tych metod. (K_W13)
|
Zakres tematów: |
Wykład wprowadza podstawowe pojęcia i modele przetwarzania rozproszonego i równoległego. Szczególny nacisk kładzie się na wykorzystanie kart GPU i języka CUDA C w wykonywaniu przetwarzania równoległego i rozproszonego.
Zawartość wykładu jest następująca: wprowadzenie i historia obliczeń równoległych i rozproszonych na kartach GPU; przegląd zastosowań kart GPU w obliczeniach, modelowaniu i symulacji zagadnień naukowych i inżynierskich; architektura równoległa i rozproszona kart GPU, języki programowania kart GPU, narzędzie GPUmat, język programowania CUDA C, biblioteki CUDA C. Wykład omawia szczegółowo następujące zagadnienia związane z językiem programowania CUDA C: (czym jest host, urządzenie, jądro, blok, siatka, wątek, osnowa); deklaracje funkcji; uruchomienie programu w CUDA C; modele i typy pamięci w CUDA (rejestry, pamięć współdzielona, pamięć globalna, stała pamięć); transfer danych (host do hosta, hosta do urządzenia, urządzenia do urządzenia); analiza wydajności programów CUDA.
|