Uniwersytet w Białymstoku - Centralny System Uwierzytelniania
Strona główna

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 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: 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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 15 godzin więcej informacji
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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 15 godzin więcej informacji
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
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 30 godzin więcej informacji
Wykład, 15 godzin więcej informacji
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
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet w Białymstoku.
ul. Świerkowa 20B, 15-328 Białystok tel: +48 85 745 70 00 (Centrala) https://uwb.edu.pl kontakt deklaracja dostępności mapa serwisu USOSweb 7.3.1.0-2 (2026-05-27)