Obliczenia masywnie równoległe 510-IS2-1MOR-23
Profil studiów: ogólnoakademicki
Forma studiów: stacjonarne
Rodzaj przedmiotu: obowiązkowy
Dziedzina: Nauki i ścisłe i przyrodnicze, dyscyplina: informatyka.
Rok studiów / semestr: 1 / 2
Wymagania wstępne (tzw. sekwencyjny system zajęć i egzaminów):
Przedmioty wprowadzające:
Podstawy programowania strukturalnego
Wstęp do programowania obiektowego
Programowanie zaawansowane
Wykład: 15h
Trendy rozwoju procesorów
Architektura CUDA
Podstawowe zasady programowania w CUDA
Narzędzia programowania w CUDA
Strategie zrównoleglania obliczeń
Laboratorium: 30h
Hello CUDA - prosty program wprowadzający
Graficzna reprezentacja zbioru Mandelbrota
Implementacja wybranych problemów obliczeniowych pozwalających na zapoznanie się ze specyfiką programowania masywnie równoległego na GPU
Metody dydaktyczne: Materiały dydaktyczne są opracowane w formacie slajdów i prezentowane w trakcie wykładów. Pliki pdf ze slajdami są udostępniane studentom.
Instrukcje laboratoryjne są udostępniane studentom na każdych zajęciach. Przewidziane są także konsultacje.
Punkty ECTS: 4
Bilans nakładu pracy studenta:
Udział w zajęciach:
- wykład 15h
- laboratorium 30h
Przygotowanie do zajęć:
- wykład 0h
- laboratorium 10h
Zapoznanie z literaturą: 5h
Sprawozdania, raporty z zajęć, prace domowe: 30h
Przygotowanie do zaliczenia: -
Czas trwania zaliczenia: -
Udział w konsultacjach: 30h
Wskaźniki ilościowe:
Nakład pracy studenta związany z zajęciami:
- wymagającymi bezpośredniego udziału nauczyciela: 75, 3ECTS
- praca samodzielna: 45, 1 ECTS
W cyklu 2023:
Wykład: 15h |
Rodzaj przedmiotu
Tryb prowadzenia przedmiotu
Wymagania (lista przedmiotów)
Założenia (lista przedmiotów)
Założenia (opisowo)
Koordynatorzy przedmiotu
Efekty kształcenia
Studenci zdobędą podstawowe umiejętności programowania w CUDA - najpopularniejszym środowisku obliczeń masywnie równoległych. Zdobędą podstawowe umiejętności analizy problemów obliczeniowych pod kątem możliwości ich zrównoleglenia i zaproponowanie równoległej wersji algorytmu obliczeniowego.
W wyniku zajęć zrealizowane zostaną następujące efekty kształcenia:
1. Ma podstawową wiedzę w zakresie algorytmów dla masywnych obliczeń równoległych z zastosowaniem nowoczesnych metod numerycznych oraz ich realizacji na maszynach wieloprocesorowych, wielordzeniowych i kartach graficznych. KP7_WG8
2. Ma wiedzę o trendach rozwojowych i nowych osiągnięciach w zakresie informatyki. KP7_WG9, KP7_WK1
3. Umie dokonać implementacji masywnych algorytmów przetwarzania równoległego, w tym w środowisku kart graficznych. KP7_UW8, KP7_UW11, KP7_UW12, KP7_UW13, KP7_UW15
4. Implementuje zaawansowane dynamiczne struktury danych oraz zaawansowane algorytmy. KP7_UW11, KP7_UW12, KP7_UW15,
5. Potrafi zaproponować usprawnienia istniejących rozwiązań oraz myśleć i działać w sposób kreatywny i innowacyjny. KP7_UW14, KP7_UO4
6. Rozumie ograniczenia własnej wiedzy i potrzebę dalszego kształcenia, w tym zdobywania wiedzy poza dziedzinowej. KP7_UU2
7. Rozumie potrzebę systematycznego zapoznawania się z najnowszymi trendami rozwoju technologii informatycznych poprzez czasopisma naukowe i popularnonaukowe oraz witryny internetowe. KP7_KR1
Kryteria oceniania
Wykład: test pisemny
Laboratorium: Zaliczenia na ocenę na podstawie wykonanych zadań
Ocena końcowa: Konieczne zaliczenie wykładu i laboratorium, ocena końcowa to średnia ważona laboratorium waga 2 i wykład waga 1.
Literatura
CUDA C++ Programming Guide (https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html)
CUDA C++ Best Practices Guide (https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html)
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: