Obliczenia superkomputerowe 1000-218bHPC
Celem przedmiotu jest przedstawienie najważniejszych podstaw teoretycznych oraz podstawowych technik programowania współczesnych superkomputerów.
W podejściu współbieżnym przedstawimy programowanie akceleratorów w modelach masywnie równoległym i opartym o zadania (task-based programming). Do oceny efektywności algorytmów zaproponujemy model wydajności PRAM.
W podejściu rozproszonym pokażemy programowanie oparte o przekazywanie komunikatów (MPI). Przeanalizujemy wydajność algorytmów korzystając z modelu latencja-pasmo.
Przedstawimy również podstawowe podejścia, modele i algorytmy podziału pracy, planowania i szeregowania obliczeń: niezależne zadania, grafy zależności i zadania podzielne (divisible load).
Rodzaj przedmiotu
Koordynatorzy przedmiotu
Efekty kształcenia
Wiedza
1. Zna techniki synchronizacji procesów i komunikacji międzyprocesowej w scentralizowanym i rozproszonym modelu programu współbieżnego [K_W04].
2. Zna algorytmy wzajemnego wykluczania i uzgadniania w systemach rozproszonych [K_W05].
3. Zna różne architektury stosowane do wysokowydajnego przetwarzania komputerowego.
Umiejętności
1. Potrafi zastosować mechanizmy synchronizacji procesów i wątków w wybranych technologiach w zależności od architektury i możliwości konkretnego komputera [K_U06].
2. Posługuje się nowoczesnymi technologiami rozpraszania i zrównoleglania obliczeń [K_U08].
3. Ma umiejętności językowe w zakresie informatyki zgodne z wymaganiami określonymi dla poziomu B2+ Europejskiego Systemu Opisu Kształcenia Językowego, w szczególności: identyfikuje główne i poboczne tematy wykładów, pogadanek, debat akademickich, dyskusji, czyta ze zrozumieniem i krytycznie analizuje teksty akademickie, zabiera głos w dyskusji lub debacie naukowej, streszcza ustnie informacje, wyniki badań, opinie i argumenty autora zawarte w tekście naukowym [K_U14].
4. Umie określać wydajność przetwarzania w zależności od architektury oraz zastosowanej topologii sieci.
5. Programowanie obliczeń równoległych dla różnych architektur.
6. Ocenianie efektywności algorytmów do przetwarzania równoległego.
Kryteria oceniania
- 2 projekty zaliczeniowe
- aktywność na zajęciach
- egzamin
Reguły zaliczenia dla doktorantów: student zostanie poproszony o przeanalizowanie niedawno opublikowanego artykułu naukowego z dziedziny HPC (i, jeśli możliwe, obszaru badań studenta); rozmowa o tym artykule będzie częścią egzaminu.
Literatura
- artykuły podawane na wykładach
- Ben-Ari “Principles of Concurrent and Distributed Programming”
- Casanova, Legrand, Robert ""Parallel Algorithms""
- Kirk, Hwu “Programming Massively Parallel Processors”
- Cormen, Leiserson, Rivest, Stein ""Introduction to Algorithms"", 1st edition (PRAM), 3rd edition (Cilk)
- Drozdowski, „Scheduling for Parallel Processing”
Więcej informacji
Więcej informacji o poziomie przedmiotu, roku studiów (i/lub semestrze) w którym się odbywa, o rodzaju i liczbie godzin zajęć - szukaj w planach studiów odpowiednich programów. Ten przedmiot jest związany z programami:
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: