Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S2)
specjalność: systemy komputerowe i technologie mobilne

Sylabus przedmiotu Programowanie równoległe i rozproszone:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister
Obszary studiów nauki techniczne
Profil ogólnoakademicki
Moduł
Przedmiot Programowanie równoległe i rozproszone
Specjalność inżynieria oprogramowania
Jednostka prowadząca Katedra Inżynierii Oprogramowania
Nauczyciel odpowiedzialny Włodzimierz Bielecki <Wlodzimierz.Bielecki@zut.edu.pl>
Inni nauczyciele Marek Pałkowski <Marek.Palkowski@zut.edu.pl>, Krzysztof Siedlecki <Krzysztof.Siedlecki@zut.edu.pl>
ECTS (planowane) 3,0 ECTS (formy) 3,0
Forma zaliczenia egzamin Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL1 15 0,80,50zaliczenie
wykładyW1 30 2,20,50egzamin

Wymagania wstępne

KODWymaganie wstępne
W-1Zaliczone przedmioty: Programowanie w językach C, C++, Architektura komputerów, Systemy operacyjne, Inżynieria oprogramowania

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Przyswojenie wiedzy i umiejętności niezbędnych do projektowania aplikacji równolegych i rozproszonych oraz oceny ich jakości
C-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".2
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.2
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.2
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.2
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.2
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB2
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task1
T-L-8Stworzenie projektu aplikacji równoległej oraz zespołowego sprawozdania z badań w grupach 2 (max 3) osobowych2
15
wykłady
T-W-1architektura komputerów równoległych i systemów rozproszonych2
T-W-2podstawowe mierniki jakości aplikacji równoległych i rozproszonych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a2
T-W-3pojęcie zaleznośći, rodzaje zależności w programach2
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE2
T-W-5pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń2
T-W-6zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków2
T-W-7konstrukcje podziału pracy między wątki w OpenMP2
T-W-8mechanizmy synchronizacji w OpenMP2
T-W-9mechanizm zadań w OpenMP(tasking)4
T-W-10biblioteka Intel TBB2
T-W-11biblioteki MPI i PVM2
T-W-12podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji2
T-W-13metodologia PCAM tworzenia algorytmów równoległych i rozproszonych2
T-W-14modele wydajnościowe aplikacji rónoległych i rozproszonych2
30

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1udział w laboratoriach15
A-L-2przygotowanie do laboratoriów5
A-L-3udzał w konsultacjach i zaliczeniu formy zajęć4
24
wykłady
A-W-1Udział w wykładach30
A-W-2Przygotowanie do egzaminu25
A-W-3Udział w egzaminie2
A-W-4Udział w konsultacjach2
59

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykad informacyjny/konwersatoryjny
M-2Ćwiczenia laboratoryjne

Sposoby oceny

KODSposób oceny
S-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
S-2Ocena formująca: Zaliczenie końcowe poprzez sprawdzenie efektów kształcenia: przedstawienie pytań i ocena odpowiedzi

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D14/01_W01
ma wiedzę w zakresie tworzenia algorytmów równoległych i rozproszonych
I_2A_W01, I_2A_W04C-2, C-1T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-13, T-W-14, T-W-3, T-W-6, T-W-1, T-W-2, T-W-4, T-W-12, T-W-5, T-L-4, T-L-5, T-L-1, T-L-2, T-L-3, T-L-6, T-L-7M-1S-2
I_2A_D14/01_W02
zna metodykę tworzenia aplikacji równoległych i rozproszonych oraz odpowiednie API i biblioteki
I_2A_W04C-2, C-1T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-13, T-W-14, T-W-3, T-W-6, T-W-1, T-W-2, T-W-4, T-W-12, T-W-5, T-L-4, T-L-5, T-L-1, T-L-2, T-L-3, T-L-6, T-L-7M-1S-2

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D14/01_U01
potrafi rozwiązywać złożone problemy w oparciu o tworzenie aplikacji równoległych i rozproszonych
I_2A_U11, I_2A_U07, I_2A_U12C-2T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-13, T-W-14, T-W-3, T-W-6, T-W-1, T-W-2, T-W-4, T-W-12, T-W-5, T-L-4, T-L-5, T-L-1, T-L-2, T-L-3, T-L-6, T-L-7M-2S-1
I_2A_D14/01_U02
Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych dotyczących wytwarzania oprogramowania równoległego
I_2A_U03C-2T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-13, T-W-14, T-W-3, T-W-6, T-W-1, T-W-2, T-W-4, T-W-12, T-W-5, T-L-4, T-L-5, T-L-1, T-L-2, T-L-3, T-L-6, T-L-7M-2S-1
I_2A_D14/01_U03
potrafi posługiwać się literaturą i dokumentacją techniczną do tworzenia aplikacji równoległych i rozproszonych
I_2A_U02C-2M-2S-1

Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D14/01_K01
świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą w zakresie programowania równoległego i rozproszonego
I_2A_K02C-2T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-13, T-W-14, T-W-3, T-W-6, T-W-1, T-W-2, T-W-4, T-W-12, T-W-5, T-L-4, T-L-5, T-L-1, T-L-2, T-L-3, T-L-6, T-L-7M-2S-1
I_2A_D14/01_K02
ma świadomość współodpowiedzialności za wspólnie realizowane zadania dotyczące tworzenia oprogramowania równoległego i rozproszonego
I_2A_K03, I_2A_K05C-2T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-13, T-W-14, T-W-3, T-W-6, T-W-1, T-W-2, T-W-4, T-W-12, T-W-5, T-L-4, T-L-5, T-L-1, T-L-2, T-L-3, T-L-6, T-L-7M-2S-1

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/01_W01
ma wiedzę w zakresie tworzenia algorytmów równoległych i rozproszonych
2,0nie zna podstawowych algorytmów projektowania algorytmów równoległych i rozproszonych
3,0zna podstawowe algorytmy projektowania algorytmów równoległych i rozproszonych
3,5zna podstawowe algorytmy projektowania algorytmów równoległych i rozproszonych oraz wie jak zostasowąc je do zrównoleglenia prostych algorytmów rónoległych
4,0zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i rozproszonych oraz wie jak zostasowąc je do zrównoleglenia prostych algorytmów rónoległych
4,5zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i rozproszonych oraz wie jak zostasowąc je do zrównoleglenia zaawansowanych algorytmów rónoległych
5,0zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i rozproszonych oraz wie jak zostasowąc je do zrównoleglenia zaawansowanych algorytmów rónoległych oraz potrafi udowodnić i uzasadnić swoją wypowiedż
I_2A_D14/01_W02
zna metodykę tworzenia aplikacji równoległych i rozproszonych oraz odpowiednie API i biblioteki
2,0nie zna metodyki oraz API i bibliotek do tworzenia aplikacji równoległych i rozproszonych
3,0zna metodykę oraz API i biblioteki do tworzenia aplikacji równoległych i rozproszonych
3,5ma wiedzę o API i bibliotekach do tworzenia aplikacji równoległych i wie jak zostasować je do tworzenia prostych aplikacji
4,0ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych i rozproszonych i wie jak zostasować je do tworzenia prostych aplikacji
4,5ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych i rozproszonych i wie jak zostasować je do tworzenia zaawansowanych aplikacji
5,0ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych i rozproszonych i wie jak zostasować je do tworzenia zaawansowanych aplikacji oraz potrafi udowodnić i uzasadnić odpowiedź

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/01_U01
potrafi rozwiązywać złożone problemy w oparciu o tworzenie aplikacji równoległych i rozproszonych
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi skompilować program z openmp z pragmami parallel i for
3,5wymagania na ocenę 3 - dodatkowo: - potrafi poprawnie skonfigurować pragmy parallel i for
4,0wymagania na ocenę 3,5 - dodatkowo: - potrafi skonfigurować większość pragm
4,5wymagania na ocenę 4 - dodatkowo: - potrafi określić przyspieszenie programu
5,0wymagania na ocenę 4,5- dodatkowo: potrafi ocenić skalowalność i efektywność programu
I_2A_D14/01_U02
Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych dotyczących wytwarzania oprogramowania równoległego
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi zaangażować się w projekt
3,5wymagania na ocenę 3 - dodatkowo: - aktywnie uczestniczy w tworzeniu programu
4,0wymagania na ocenę 3,5 - dodatkowo: - potrafi wykonać badania
4,5wymagania na ocenę 4 - dodatkowo: - potrafi sporządzić tabele i wykresy dla przyspieszenia oraz efektywności
5,0wymagania na ocenę 4 - dodatkowo: - wyciaga poprawne wnioski z uzyskanych wynikow
I_2A_D14/01_U03
potrafi posługiwać się literaturą i dokumentacją techniczną do tworzenia aplikacji równoległych i rozproszonych
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi opisać podstawowe pragmy i odszukać te informacje w dokumnetacji
3,5wymagania na ocenę 3,0 - dodatkowo: - potrafi znaleźć wszystkie dyrektywy dla wybranych pragm z dokumentacji
4,0wymagania na ocenę 3,5 - dodatkowo: - rozumie znaczenie wszytskich dyrektyw zdokumentacji
4,5wymagania na ocenę 4,0 - dodatkowo: - potrafi włączyć wyszukane informacje do swojego programu
5,0wymagania na ocenę 4,5 - dodatkowo: - potrafi optymalizować program na podstawie uzyskanych informacji z dokumnetacji

Kryterium oceny - inne kompetencje społeczne i personalne

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/01_K01
świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą w zakresie programowania równoległego i rozproszonego
2,0nie potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych
3,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 3,0
3,5Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 3,5
4,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 4,0
4,5Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 4,5
5,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 5,0
I_2A_D14/01_K02
ma świadomość współodpowiedzialności za wspólnie realizowane zadania dotyczące tworzenia oprogramowania równoległego i rozproszonego
2,0Nie potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych
3,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania z oceną 3,0
3,5Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania z oceną 3,5
4,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania z oceną 4,0
4,5Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania z oceną 4,5
5,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania z oceną 5,0

Literatura podstawowa

  1. W. Bielecki, Przetwarzanie równoległe i rozproszone, Politechnika Szczecińska, Szczecin, 2007
  2. Rohit Chandra et al., Parallel Programming in OpenMP, Morgan Kaufmann Publishers, London, 2001
  3. Chapman, Jost, and Van Der Pas, Using OpenMP, The MIT Press, Cambridge, 2007

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".2
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.2
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.2
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.2
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.2
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB2
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task1
T-L-8Stworzenie projektu aplikacji równoległej oraz zespołowego sprawozdania z badań w grupach 2 (max 3) osobowych2
15

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1architektura komputerów równoległych i systemów rozproszonych2
T-W-2podstawowe mierniki jakości aplikacji równoległych i rozproszonych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a2
T-W-3pojęcie zaleznośći, rodzaje zależności w programach2
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE2
T-W-5pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń2
T-W-6zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków2
T-W-7konstrukcje podziału pracy między wątki w OpenMP2
T-W-8mechanizmy synchronizacji w OpenMP2
T-W-9mechanizm zadań w OpenMP(tasking)4
T-W-10biblioteka Intel TBB2
T-W-11biblioteki MPI i PVM2
T-W-12podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji2
T-W-13metodologia PCAM tworzenia algorytmów równoległych i rozproszonych2
T-W-14modele wydajnościowe aplikacji rónoległych i rozproszonych2
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1udział w laboratoriach15
A-L-2przygotowanie do laboratoriów5
A-L-3udzał w konsultacjach i zaliczeniu formy zajęć4
24
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Udział w wykładach30
A-W-2Przygotowanie do egzaminu25
A-W-3Udział w egzaminie2
A-W-4Udział w konsultacjach2
59
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/01_W01ma wiedzę w zakresie tworzenia algorytmów równoległych i rozproszonych
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W01Ma poszerzoną i pogłębioną wiedzę w zakresie wybranych działów matematyki teoretycznej oraz matematyki stosowanej
I_2A_W04Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego
C-1Przyswojenie wiedzy i umiejętności niezbędnych do projektowania aplikacji równolegych i rozproszonych oraz oceny ich jakości
Treści programoweT-W-7konstrukcje podziału pracy między wątki w OpenMP
T-W-8mechanizmy synchronizacji w OpenMP
T-W-9mechanizm zadań w OpenMP(tasking)
T-W-10biblioteka Intel TBB
T-W-11biblioteki MPI i PVM
T-W-13metodologia PCAM tworzenia algorytmów równoległych i rozproszonych
T-W-14modele wydajnościowe aplikacji rónoległych i rozproszonych
T-W-3pojęcie zaleznośći, rodzaje zależności w programach
T-W-6zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-1architektura komputerów równoległych i systemów rozproszonych
T-W-2podstawowe mierniki jakości aplikacji równoległych i rozproszonych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-12podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-5pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task
Metody nauczaniaM-1Wykad informacyjny/konwersatoryjny
Sposób ocenyS-2Ocena formująca: Zaliczenie końcowe poprzez sprawdzenie efektów kształcenia: przedstawienie pytań i ocena odpowiedzi
Kryteria ocenyOcenaKryterium oceny
2,0nie zna podstawowych algorytmów projektowania algorytmów równoległych i rozproszonych
3,0zna podstawowe algorytmy projektowania algorytmów równoległych i rozproszonych
3,5zna podstawowe algorytmy projektowania algorytmów równoległych i rozproszonych oraz wie jak zostasowąc je do zrównoleglenia prostych algorytmów rónoległych
4,0zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i rozproszonych oraz wie jak zostasowąc je do zrównoleglenia prostych algorytmów rónoległych
4,5zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i rozproszonych oraz wie jak zostasowąc je do zrównoleglenia zaawansowanych algorytmów rónoległych
5,0zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i rozproszonych oraz wie jak zostasowąc je do zrównoleglenia zaawansowanych algorytmów rónoległych oraz potrafi udowodnić i uzasadnić swoją wypowiedż
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/01_W02zna metodykę tworzenia aplikacji równoległych i rozproszonych oraz odpowiednie API i biblioteki
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W04Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego
C-1Przyswojenie wiedzy i umiejętności niezbędnych do projektowania aplikacji równolegych i rozproszonych oraz oceny ich jakości
Treści programoweT-W-7konstrukcje podziału pracy między wątki w OpenMP
T-W-8mechanizmy synchronizacji w OpenMP
T-W-9mechanizm zadań w OpenMP(tasking)
T-W-10biblioteka Intel TBB
T-W-11biblioteki MPI i PVM
T-W-13metodologia PCAM tworzenia algorytmów równoległych i rozproszonych
T-W-14modele wydajnościowe aplikacji rónoległych i rozproszonych
T-W-3pojęcie zaleznośći, rodzaje zależności w programach
T-W-6zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-1architektura komputerów równoległych i systemów rozproszonych
T-W-2podstawowe mierniki jakości aplikacji równoległych i rozproszonych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-12podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-5pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task
Metody nauczaniaM-1Wykad informacyjny/konwersatoryjny
Sposób ocenyS-2Ocena formująca: Zaliczenie końcowe poprzez sprawdzenie efektów kształcenia: przedstawienie pytań i ocena odpowiedzi
Kryteria ocenyOcenaKryterium oceny
2,0nie zna metodyki oraz API i bibliotek do tworzenia aplikacji równoległych i rozproszonych
3,0zna metodykę oraz API i biblioteki do tworzenia aplikacji równoległych i rozproszonych
3,5ma wiedzę o API i bibliotekach do tworzenia aplikacji równoległych i wie jak zostasować je do tworzenia prostych aplikacji
4,0ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych i rozproszonych i wie jak zostasować je do tworzenia prostych aplikacji
4,5ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych i rozproszonych i wie jak zostasować je do tworzenia zaawansowanych aplikacji
5,0ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych i rozproszonych i wie jak zostasować je do tworzenia zaawansowanych aplikacji oraz potrafi udowodnić i uzasadnić odpowiedź
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/01_U01potrafi rozwiązywać złożone problemy w oparciu o tworzenie aplikacji równoległych i rozproszonych
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U11Potrafi dokonywać analizy i syntezy złożonych systemów
I_2A_U07Potrafi wykorzystywać poznane metody, techniki i modele do rozwiązywania złożonych problemów
I_2A_U12Ma umiejętność stosowania zaawansowanych technik programowania i metodyki projektowania systemów informatycznych w wybranym obszarze zastosowań
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego
Treści programoweT-W-7konstrukcje podziału pracy między wątki w OpenMP
T-W-8mechanizmy synchronizacji w OpenMP
T-W-9mechanizm zadań w OpenMP(tasking)
T-W-10biblioteka Intel TBB
T-W-11biblioteki MPI i PVM
T-W-13metodologia PCAM tworzenia algorytmów równoległych i rozproszonych
T-W-14modele wydajnościowe aplikacji rónoległych i rozproszonych
T-W-3pojęcie zaleznośći, rodzaje zależności w programach
T-W-6zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-1architektura komputerów równoległych i systemów rozproszonych
T-W-2podstawowe mierniki jakości aplikacji równoległych i rozproszonych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-12podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-5pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi skompilować program z openmp z pragmami parallel i for
3,5wymagania na ocenę 3 - dodatkowo: - potrafi poprawnie skonfigurować pragmy parallel i for
4,0wymagania na ocenę 3,5 - dodatkowo: - potrafi skonfigurować większość pragm
4,5wymagania na ocenę 4 - dodatkowo: - potrafi określić przyspieszenie programu
5,0wymagania na ocenę 4,5- dodatkowo: potrafi ocenić skalowalność i efektywność programu
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/01_U02Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych dotyczących wytwarzania oprogramowania równoległego
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U03Potrafi aktywnie uczestniczyć w pracach projektowych indywidualnych i zespołowych przyjmując w nich różne role
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego
Treści programoweT-W-7konstrukcje podziału pracy między wątki w OpenMP
T-W-8mechanizmy synchronizacji w OpenMP
T-W-9mechanizm zadań w OpenMP(tasking)
T-W-10biblioteka Intel TBB
T-W-11biblioteki MPI i PVM
T-W-13metodologia PCAM tworzenia algorytmów równoległych i rozproszonych
T-W-14modele wydajnościowe aplikacji rónoległych i rozproszonych
T-W-3pojęcie zaleznośći, rodzaje zależności w programach
T-W-6zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-1architektura komputerów równoległych i systemów rozproszonych
T-W-2podstawowe mierniki jakości aplikacji równoległych i rozproszonych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-12podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-5pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi zaangażować się w projekt
3,5wymagania na ocenę 3 - dodatkowo: - aktywnie uczestniczy w tworzeniu programu
4,0wymagania na ocenę 3,5 - dodatkowo: - potrafi wykonać badania
4,5wymagania na ocenę 4 - dodatkowo: - potrafi sporządzić tabele i wykresy dla przyspieszenia oraz efektywności
5,0wymagania na ocenę 4 - dodatkowo: - wyciaga poprawne wnioski z uzyskanych wynikow
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/01_U03potrafi posługiwać się literaturą i dokumentacją techniczną do tworzenia aplikacji równoległych i rozproszonych
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U02Potrafi pozyskiwać informacje z różnych źródeł (literatura, Internet, bazy danych, dokumentacja techniczna), dokonywać ich interpretacji i oceny
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi opisać podstawowe pragmy i odszukać te informacje w dokumnetacji
3,5wymagania na ocenę 3,0 - dodatkowo: - potrafi znaleźć wszystkie dyrektywy dla wybranych pragm z dokumentacji
4,0wymagania na ocenę 3,5 - dodatkowo: - rozumie znaczenie wszytskich dyrektyw zdokumentacji
4,5wymagania na ocenę 4,0 - dodatkowo: - potrafi włączyć wyszukane informacje do swojego programu
5,0wymagania na ocenę 4,5 - dodatkowo: - potrafi optymalizować program na podstawie uzyskanych informacji z dokumnetacji
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/01_K01świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą w zakresie programowania równoległego i rozproszonego
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_K02Świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego
Treści programoweT-W-7konstrukcje podziału pracy między wątki w OpenMP
T-W-8mechanizmy synchronizacji w OpenMP
T-W-9mechanizm zadań w OpenMP(tasking)
T-W-10biblioteka Intel TBB
T-W-11biblioteki MPI i PVM
T-W-13metodologia PCAM tworzenia algorytmów równoległych i rozproszonych
T-W-14modele wydajnościowe aplikacji rónoległych i rozproszonych
T-W-3pojęcie zaleznośći, rodzaje zależności w programach
T-W-6zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-1architektura komputerów równoległych i systemów rozproszonych
T-W-2podstawowe mierniki jakości aplikacji równoległych i rozproszonych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-12podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-5pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
Kryteria ocenyOcenaKryterium oceny
2,0nie potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych
3,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 3,0
3,5Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 3,5
4,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 4,0
4,5Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 4,5
5,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 5,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/01_K02ma świadomość współodpowiedzialności za wspólnie realizowane zadania dotyczące tworzenia oprogramowania równoległego i rozproszonego
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_K03Rozumie potrzebę przekazywania społeczeństwu informacji o rozwoju i osiągnięciach nauki w zakresie informatyki
I_2A_K05Ma świadomość odpowiedzialności za kierowany zespół ludzi i za zadania realizowane wspólnie z tym zespołem
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania równoległego i rozproszonego
Treści programoweT-W-7konstrukcje podziału pracy między wątki w OpenMP
T-W-8mechanizmy synchronizacji w OpenMP
T-W-9mechanizm zadań w OpenMP(tasking)
T-W-10biblioteka Intel TBB
T-W-11biblioteki MPI i PVM
T-W-13metodologia PCAM tworzenia algorytmów równoległych i rozproszonych
T-W-14modele wydajnościowe aplikacji rónoległych i rozproszonych
T-W-3pojęcie zaleznośći, rodzaje zależności w programach
T-W-6zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-1architektura komputerów równoległych i systemów rozproszonych
T-W-2podstawowe mierniki jakości aplikacji równoległych i rozproszonych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-12podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-5pojęcie procesu i wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołanie i zakończenie wątków, model obliczeń
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-5Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".
T-L-2Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem podstawowych pragm OpenMP do przydziału zadań dla wątków, synchronizacji wątków, funckji bibliotecznech, zmiennych środowiskowych.
T-L-3Zrównoleglanie pętli programowych w OpenMP przy pomocy pragmy "for". Przydział i podział przestrzeni iteracji pętli do wątków w regionie równoległym - schedule: static, dynami, guided.
T-L-6Napisanie aplikacji rwnoległej za pomocą biblioteki TBB
T-L-7Napisanie aplikacji rwnoległej w oparciu o dyrektywę Task
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
Kryteria ocenyOcenaKryterium oceny
2,0Nie potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych
3,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania z oceną 3,0
3,5Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania z oceną 3,5
4,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania z oceną 4,0
4,5Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania z oceną 4,5
5,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych i rozproszonych oraz zrealizował swoją część zadania z oceną 5,0