Programowanie równoległe 390-FG1-3PR
Profil studiów: ogólnoakademicki
Forma studiów: stacjonarne
Rodzaj przedmiotu: obowiązkowy
Dziedzina i dyscyplina nauki: nauki ścisłe i przyrodnicze, nauki fizyczne, informatyka
Rok studiów, semestr: rok 3, semestr 6
Moduł: narzędzia informatyki
Liczba godzin zajęć dydaktycznych: wykład 15h, laboratorium 30h
Punkty ECTS: 3
Bilans nakładu pracy studenta: wykład (15 godzin), laboratorium (30 godzin), przygotowanie do zajęć (14 godzin), udział w konsultacjach przedmiotowych (3 godziny), przygotowanie do egzaminu końcowego i udział w egzaminie (10+3 godziny).
Wskaźniki ilościowe: wykład (0.6 punktów ECTS), konwersatorium (1.2 punktów ECTS), przygotowanie do zajęć (0.56 punktów ECTS), udział w konsultacjach przedmiotowych (0.12 punktów ECTS), przygotowanie do egzaminu końcowego i udział w egzaminie (0.52 punkty ECTS).
Treści wykładu:
Programowanie równoległe na maszyny z pamięcią współdzieloną
Wprowadzenie do OpenMP
Podstawowe klauzule
Funkcje biblioteczne, zmienne środowiskowe, kontrolowanie uruchomienia i liczby wątków
Zaawansowane klauzule
Programowanie równoległe na maszyny z pamięcią rozproszoną
Wprowadzenie i instalacja MPI
Komunikacja punk-punkt
Prosta komunikacja kolektywna
Komunikacja kolektywna z redukcją
Programowanie równoległe akceleratorów obliczeń
Wprowadzenie do programowania CUDA
Wprowadzenie do programowania OpenCL
Treści laboratorium:
Na laboratorium realizowane są praktycznie treści odpowiadające wykładowi.
Rodzaj przedmiotu
Wymagania (lista przedmiotów)
Założenia (opisowo)
Koordynatorzy przedmiotu
Efekty kształcenia
K_W24 - ma podstawową wiedzę z zakresu algorytmiki i struktur danych
Ma podstawową wiedzę zna pojęcia z zakresu programowania równoległego
K_U23 - umie napisać złożony program komputerowy w wybranym języku programowania, skompilować go i uruchomić
Umie napisać program komputerowy ralizujący obliczenia równolegle na wybrane architektury sprzętowe
K_U25 - umie wyszukiwać i wykorzystywać specjalistyczne oprogramowanie komputerowe w zasobach Internetu z poszanowaniem własności intelektualnej oraz zasad użytkowania
K_K05 - potrafi samodzielnie wyszukiwać informacje w literaturze i zasobach Internetu, także w językach obcych
Kryteria oceniania
Zaliczenie laboratorium odbywa się na podstawie oceny, która uwzględnia:
1. znajomości pojęć i mechanizmów programowania równoległego;
2. umiejętność zastosowania mechanizmów programowania równoległego do konkretnych problemów;
4. umiejętność korzystania z zasobów Internetu;
5. kreatywność w podejściu do rozwiązywanych problemów;
6. prace domowe.
Podstawą zaliczenia laboratorium jest obecność na zajęciach. Dopuszcza się opuszczenie trzech zajęć.
Zaliczenie wykładu odbywa się na podstawie egzaminu końcowego.
Literatura
Źródła internetowe:
OpenMP: https://www.openmp.org/
Open MPI: https://www.open-mpi.org/
CUDA: https://docs.nvidia.com/cuda/
OpenCL: https://www.khronos.org/opencl/
C++11 threads: https://en.cppreference.com/w/cpp/thread
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: