Uniwersytet Warszawski - Centralny System Uwierzytelniania
Strona główna

Obliczenia superkomputerowe

Informacje ogólne

Kod przedmiotu: 1000-218bHPC
Kod Erasmus / ISCED: 11.3 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0612) Database and network design and administration Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Obliczenia superkomputerowe
Jednostka: Wydział Matematyki, Informatyki i Mechaniki
Grupy: Przedmioty obieralne dla informatyki
Przedmioty obieralne na studiach drugiego stopnia na kierunku bioinformatyka
Przedmioty obieralne z grupy programowania współbieżnego i rozproszonego
Punkty ECTS i inne: 6.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.

zobacz reguły punktacji
Język prowadzenia: angielski
Rodzaj przedmiotu:

obowiązkowe

Skrócony opis:

Obliczenia superkomputerowe (High Performance Computing, HPC) mają ogromny wpływ na współczesny świat, od numerycznych prognoz pogody po symulacje klimatu, czy od badania struktur białek po symulacje galaktyk. Współczesny superkomputer to kilkadziesiąt tysięcy węzłów, każdy z kilkudziesięcioma rdzeniami procesorów i często kilkoma tysiącami rdzeni akceleratorów. Wielka skala tych maszyn, heterogeniczność (akceleratory / procesory), stosunkowo częste awarie czy kilka rzędów wielkości różnicy wydajności między lokalną a zdalną pamięcią prowadzi do konieczności spojrzenia na problemy informatyczne z nowej perspektywy.

Pełny opis:

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).

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”

Efekty uczenia się:

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.

Metody i 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.

Zajęcia w cyklu "Semestr letni 2023/24" (w trakcie)

Okres: 2024-02-19 - 2024-06-16
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 30 godzin więcej informacji
Koordynatorzy: Krzysztof Rządca
Prowadzący grup: Adrian Naruszko, Krzysztof Rządca
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Warszawski.
ul. Banacha 2
02-097 Warszawa
tel: +48 22 55 44 214 https://www.mimuw.edu.pl/
kontakt deklaracja dostępności USOSweb 7.0.2.0-80474ed05 (2024-03-12)