Programowanie równoległe
Informacje ogólne
| Kod przedmiotu: | 390-FG1-3PR |
| Kod Erasmus / ISCED: | (brak danych) / (brak danych) |
| Nazwa przedmiotu: | Programowanie równoległe |
| Jednostka: | Wydział Fizyki |
| Grupy: |
fizyka gier komputerowych i robotów 3 rok I stopień sem. letni 2025/2026 |
| Punkty ECTS i inne: |
3.00
|
| Język prowadzenia: | polski |
| Rodzaj przedmiotu: | obowiązkowe |
| Wymagania (lista przedmiotów): | Programowanie strukturalne 390-FG1-1PS |
| Założenia (lista przedmiotów): | Systemy operacyjne 390-FG1-1SO |
| Założenia (opisowo): | Przed przystąpieniem do zajęć z przedmiotu Programowanie równoległe student powinien posiadać podstawy w zakresie obsługi systemów operacyjnych w szczególności systemu linux. Wymagana jest umiejętność programowania strukturalnego. |
| Tryb prowadzenia przedmiotu: | w sali |
| Skrócony opis: |
Celem przedmiotu jest przedstawienie ogólnej charakterystyki środowiska i programowania równoległego oraz rozproszonego. Współbieżność procesów w systemach operacyjnych i poprawność programu współbieżnego. Omówienie wybranych problemy programowania współbieżnego: wzajemnego wykluczania, producenta i konsumenta, ucztujących filozofów. Przedstawienie podstawowych modeli obliczeń równoległych, modelu z pamięcią wspólną, modelu sieciowego. Omówienie elementarnych algorytmów równoległych, ocena algorytmów, prawo Amdahla, prawo Gustafsona i Barsisa. Przedstawienie algorytmów dla modelu z pamięcią wspólną i dla modelu sieciowego. Architektura komputerów równoległych, klasyfikacja Flynna, komputery wieloprocesorowe, klastry, sieci połączeń. Programowanie równoległe z użyciem pamięci wspólnej, model obliczeń OpenMP. Programowanie równoległe z przesyłaniem wiadomości, model obliczeń MPI. Wprowadzenie do programowania równoległego wykorzystującego karty graficzne GPU. |
| Pełny opis: |
Profil studiów: ogólnoakademicki Forma studiów: stacjonarne Rodzaj przedmiotu: obowiązkowy Dziedzina i dyscyplina nauki: Dziedzina nauk ścisłych i przyrodniczych, Dyscyplina nauki fizyczne Poziom kształcenia: studia pierwszego stopnia Rok studiów/semestr: 3. rok/6. semestr Punkty ECTS: 3 Bilans nakładu pracy studenta: - udział w wykładach (15 godz.), - udział w laboratoriach (30 godz.), - udział w konsultacjach (15 godz.), - praca własna studenta w domu (15 godz.), Wskaźniki ilościowe: - nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela - 2.4 ECTS; - nakład pracy studenta związany z samodzielna pracą - 0.6 ECTS. Zasady użycia sztucznej inteligencji (SI): Podczas zajęć dozwolone jest korzystanie z systemów SI w zakresie: 1. Tłumaczenia maszynowego tekstów źródłowych z języków obcych. 2. Wyszukiwania i organizowania źródeł naukowych. Podczas egzaminu niedozwolone jest korzystanie z systemów SI. W przypadku stwierdzenia naruszeń powyższych zasad, osoba kształcąca się może zostać pociągnięta do odpowiedzialności na podstawie odrębnych przepisów dyscyplinarnych. 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ą zadania praktyczne odpowiadające treściom omawianym na wykładzie. |
| Literatura: |
Literatura podstawowa: - Z. Czech. Wprowadzenie do obliczeń równoległych, PWN, Warszawa 2010. - P. Stpiczyński, M. Brzuszek, Podstawy programowania obliczeń równoległych, UMCS, Lublin 2011. - Sanders Jason, Kandrot Edward: Cuda w przykładach Wprowadzenie do ogólnego programowania procesów GPU, Wydawnictwo Helion, 2012. Literatura uzupełniająca: - 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 |
| Efekty uczenia się: |
(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ć prosty program komputerowy w wybranym języku programowania, skompilować go i uruchomić Umie napisać program komputerowy realizują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 |
| Metody i kryteria oceniania: |
Zaliczenie laboratorium odbywa się na podstawie średniej z ocen uzyskanych na podstawie dwóch kolokwium realizowanych przy komputerze. Podczas laboratorium niedozwolone jest korzystanie z systemów SI. Podczas tworzenia prac domowych zabronione jest korzystanie z systemów SI do tworzenia kodu, Zaliczenie wykładu odbywa się na podstawie egzaminu końcowego. Podczas egzaminu niedozwolone jest korzystanie z systemów SI. |
Zajęcia w cyklu "Rok akademicki 2023/24" (zakończony)
| Okres: | 2023-10-01 - 2024-06-30 |
Przejdź do planu
PN WT ŚR CZ PT |
| Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 15 godzin
|
|
| Koordynatorzy: | Marian Uba | |
| Prowadzący grup: | Marian Uba | |
| Lista studentów: | (nie masz dostępu) | |
| Zaliczenie: |
Przedmiot -
Egzamin
Laboratorium - Zaliczenie na ocenę Wykład - Egzamin |
Zajęcia w cyklu "Rok akademicki 2024/25" (zakończony)
| Okres: | 2024-10-01 - 2025-06-30 |
Przejdź do planu
PN WT ŚR LAB
WYK
CZ PT |
| Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 15 godzin
|
|
| Koordynatorzy: | Marian Uba | |
| Prowadzący grup: | Marian Uba | |
| Lista studentów: | (nie masz dostępu) | |
| Zaliczenie: |
Przedmiot -
Egzamin
Laboratorium - Zaliczenie na ocenę Wykład - Egzamin |
Zajęcia w cyklu "Rok akademicki 2025/26" (w trakcie)
| Okres: | 2025-10-01 - 2026-06-30 |
Przejdź do planu
PN LAB
WT ŚR CZ PT WYK
|
| Typ zajęć: |
Laboratorium, 30 godzin
Wykład, 15 godzin
|
|
| Koordynatorzy: | Adam Bonda | |
| Prowadzący grup: | Adam Bonda | |
| Lista studentów: | (nie masz dostępu) | |
| Zaliczenie: |
Przedmiot -
Egzamin
Laboratorium - Zaliczenie na ocenę Wykład - Egzamin |
Właścicielem praw autorskich jest Uniwersytet w Białymstoku.
