High Performance Computing in Scientific Applications
Informacje ogólne
Kod przedmiotu: | 1050-00000-MSP-0HPC |
Kod Erasmus / ISCED: | (brak danych) / (brak danych) |
Nazwa przedmiotu: | High Performance Computing in Scientific Applications |
Jednostka: | Wydział Fizyki |
Grupy: | |
Punkty ECTS i inne: |
3.00
|
Język prowadzenia: | angielski |
Liczba godzin zajęć praktycznych: | 20h |
Liczba godzin zajęć teoretycznych: | 10h |
Skrócony opis: |
Studenci zapoznają się z praktycznymi aspektami wykorzystania klastrów obliczeniowych i superkomputerów. W trakcie zajęć student nabywa umiejętność projektowania i tworzenia programów rozwiązujących typowe problemy obliczeniowe z wykorzystaniem obliczeń równoległych i procesorów graficznych. Zagadnienia numeryczne dotyczą algebry liniowej, analizy spektralnej, rozwiązywania równań różniczkowych oraz metody Monte Carlo. Przedmiot składa się z wykładu, części laboratoryjnej i części projektowej. W celu realizacji części laboratoryjnej i projektowej studenci otrzymają dostęp do klastra obliczeniowego Wydziału Fizyki DWARF. Studenci zapoznają się również z polskimi zasobami obliczeniowymi dostępnymi dla nauki i przemysłu oraz metodami ich udostępniania. |
Pełny opis: |
Wykład (10 godz): 1. Podstawy architektury systemów komputerowych. Klastry obliczeniowe. Superkomputery. 2. Definicja wydajności obliczeniowej i intensywności obliczeniowej. Modele obliczeń równoległych: obliczenia wielowątkowe i wieloprocesowe. 3. Obliczenia równoległe z modelem pamięci współdzielonej. Specyfikacja OpenMP. Przykład z biblioteką FFTW. 4. Kody o ograniczonej wydajności i przepustowości. Łączenie języków wysokiego poziomu z językami niskiego poziomu (przykład C i Python, cython). 5. Obliczenia równoległe z pamięcią rozproszoną. Specyfikacja MPI. 6. Algebra liniowa. Biblioteki BLAS i LAPACK. 7. Przyspieszone przetwarzanie dzięki procesorom graficznym (GPU), języki CUDA i HIP. 8. Przetwarzanie macierzy rzadkich. Rozwiązywanie równań różniczkowych cząstkowych poprzez sprowadzenie ich do problemów z macierzami rzadkimi. 9. Generatory liczb losowych. metody Monte Carlo. 10. Skalowanie kodu numerycznego. Słabe i mocne skalowanie. Zasoby informatyczne w Polsce iw Europie oraz sposoby ich udostępniania. Laboratorium (10 godz) 1. Studenci uzyskają dostęp do klastra obliczeniowego Wydziału Fizyki DWARF. 2. W ramach zajęć laboratoryjnych studenci będą tworzyć programy obliczeniowe w języku C korzystając z instrukcji prowadzącego oraz dostarczonych szablonów kodów. Wykorzystane zostaną przedstawione na wykładzie metody programowania równoległego/heterogenicznego. Przygotowane programy będą musiały zostać uruchomione na odpowiednim komputerze (zwykle na klastrze wydziałowym), aby wykazać, że działają. 3. W sumie studenci stworzą około 5 kodów demonstrujących użycie różnych technik/bibliotek HPC. 4. Programy stworzone na laboratoriach będą oceniane. Projekt (10 godz) 1. Student napisze kod rozwiązujący projekt naukowy z wykorzystaniem technik HPC. 2. Temat projektu może być wybrany z listy przekazanej przez prowadzącego lub zaproponowany przez studenta (np. związany z pracą dyplomową studenta). 3. Projekt musi być zrealizowany przy użyciu repozytorium git, aby nauczyciel mógł monitorować postępy. 4. Projekt będzie podlegał ocenie. |
Literatura: |
1. Thomas Rauber, Gudula Rünger, „Parallel Programming for Multicore and Cluster Systems”, Springer 2013, 2. R.W. Hamming, “Numerical Methods for Scientists and Engineers”, Dover Publications, 1987 3. Foster I., “Designing and Building Parallel Programs”, e-book: www-unix.mcs.anl.gov/dbpp; 4.. Strony internetowe: www.openmp.org, www.mpi-forum.org, www.netlib.org, https://developer.nvidia.com/cuda-zone. |
Metody i kryteria oceniania: |
Ocena końcowa będzie wynosić: (1/3) * ocena z laboratoriów + (2/3) ocena z projektu. Ocena z laboratorium będzie obliczona jako średnia z ocen uzyskanych z kodów stworzonych na zajęciach. Projekt musi zostać zrealizowany z wykorzystaniem repozytorium kodu git. Ocenie będą podlegały: • Metoda / Poprawność merytoryczna zastosowanych technik programowania. • Testy wydajnościowe stworzonego kodu. • Systematyczność pracy studenta nad projektem. |
Zajęcia w cyklu "rok akademicki 2023/2024 - sem. zimowy" (w trakcie)
Okres: | 2023-10-01 - 2024-02-18 |
Przejdź do planu
PN WT ŚR WYK
LAB
CZ PT |
Typ zajęć: |
Laboratorium, 10 godzin, 9 miejsc
Projekt, 10 godzin, 9 miejsc
Wykład, 10 godzin, 9 miejsc
|
|
Koordynatorzy: | Gabriel Wlazłowski | |
Prowadzący grup: | Andrzej Makowski, Gabriel Wlazłowski | |
Lista studentów: | (nie masz dostępu) | |
Zaliczenie: |
Przedmiot -
Zaliczenie na ocenę
Laboratorium - Ocena łączna Projekt - Ocena łączna Wykład - Ocena łączna |
Właścicielem praw autorskich jest Politechnika Warszawska.