Zaawansowane obliczenia na kartach graficznych


Informacje ogólne

Typ:obowiazkowy
Kierunek:Informatyka studia drugiego stopnia
Semestr:letni
Wymiar zajęć:30h wykładu 30h laboratorium
Punkty ECTS:5

Wymogi wstępne

Wymagana znajomość języka C oraz podstawowe zrozumienie programowania równoległego, bardzo wskazane wcześniejsze spotkanie z OpenMP lub MPI.

Założenia i cele przedmiotu

Celem przedmiotu jest wprowadzenie do programowania kart graficznych traktowanych jako koprocesor wspomagający obliczenia. Kurs zawiera krótki przegląd metod programowania równoległego: procesy, wątki, MPI, OpenMP oraz dokładne wprowadzenie do technologii CUDA z SDK 3.2/4.0. Przez cały czas trwania kursu studenci pracują z komputerem wyposażonym w 216-rdzeniową kartę graficzną i 4-rdzeniowy procesor. Językiem ilustracyjnym jest klasyczny C, a zalecanym środowiskiem operacyjnym Linux.

Program

Sposób zaliczenia

Rozwiązanie problemu projektowego, egzamin

Umiejętności i kompetencje

Literatura

  1. Programming Massively Parallel Processors: A Hands-on Approach (Applications of GPU Computing Series) by David B. Kirk and Wen-Mei W. Hwu
  2. GPU Computing Gems Emerald Edition (Applications of GPU Computing Series) by Wen-mei W. Hwu
  3. CUDA by Example: An Introduction to General-Purpose GPU Programming by Jason Sanders and Edward Kandrot