Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S2)
specjalność: internet w zarządzaniu

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 inżynier
Obszary studiów nauk technicznych
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
wykładyW1 30 1,90,50egzamin
laboratoriaL1 15 1,10,50zaliczenie

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ów15
A-L-3udzał w konsultacjach i zaliczeniu formy zajęć2
32
wykłady
A-W-1Udział w wykładach30
A-W-2Przygotowanie do egzaminu20
A-W-3Udział w egzaminie2
A-W-4Udział w konsultacjach1
53

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_W04T2A_W01, T2A_W04, T2A_W07C-1, C-2T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-12, T-W-13, T-W-14, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, 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_W04T2A_W04, T2A_W07C-1, C-2T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-12, T-W-13, T-W-14, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, 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_U07, I_2A_U11, I_2A_U12T2A_U07, T2A_U09, T2A_U12, T2A_U14, T2A_U15, T2A_U17, T2A_U18, T2A_U19C-2T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-12, T-W-13, T-W-14, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, 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_U03T2A_U02, T2A_U03C-2T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-12, T-W-13, T-W-14, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, 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_U02T2A_U01, T2A_U03, T2A_U04, T2A_U07, T2A_U10C-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_K02T2A_K01, T2A_K07C-2T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-12, T-W-13, T-W-14, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, 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_K05T2A_K02, T2A_K03, T2A_K04, T2A_K07C-2T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-12, T-W-13, T-W-14, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, 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ów15
A-L-3udzał w konsultacjach i zaliczeniu formy zajęć2
32
(*) 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 egzaminu20
A-W-3Udział w egzaminie2
A-W-4Udział w konsultacjach1
53
(*) 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ń
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_W01ma rozszerzoną i pogłębioną wiedzę z zakresu matematyki, fizyki, chemii i innych obszarów właściwych dla studiowanego kierunku studiów przydatną do formułowania i rozwiązywania złożonych zadań z zakresu studiowanego kierunku studiów
T2A_W04ma podbudowaną teoretycznie szczegółową wiedzę związaną z wybranymi zagadnieniami z zakresu studiowanego kierunku studiów
T2A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu złożonych zadań inżynierskich z zakresu studiowanego kierunku studiów
Cel przedmiotuC-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 programoweT-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-3pojęcie zaleznośći, rodzaje zależności w programach
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
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-W-6zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-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-12podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-13metodologia PCAM tworzenia algorytmów równoległych i rozproszonych
T-W-14modele wydajnościowe aplikacji rónoległych i rozproszonych
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-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-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ń
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_W04ma podbudowaną teoretycznie szczegółową wiedzę związaną z wybranymi zagadnieniami z zakresu studiowanego kierunku studiów
T2A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu złożonych zadań inżynierskich z zakresu studiowanego kierunku studiów
Cel przedmiotuC-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 programoweT-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-3pojęcie zaleznośći, rodzaje zależności w programach
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
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-W-6zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-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-12podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-13metodologia PCAM tworzenia algorytmów równoległych i rozproszonych
T-W-14modele wydajnościowe aplikacji rónoległych i rozproszonych
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-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-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_U07Potrafi wykorzystywać poznane metody, techniki i modele do rozwiązywania złożonych problemów
I_2A_U11Potrafi dokonywać analizy i syntezy złożonych systemów
I_2A_U12Ma umiejętność stosowania zaawansowanych technik programowania i metodyki projektowania systemów informatycznych w wybranym obszarze zastosowań
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T2A_U09potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich i prostych problemów badawczych metody analityczne, symulacyjne i eksperymentalne
T2A_U12potrafi ocenić przydatność i możliwość wykorzystania nowych osiągnięć (technik i technologii) w zakresie studiowanego kierunku studiów
T2A_U14potrafi dokonać wstępnej analizy ekonomicznej podejmowanych działali inżynierskich
T2A_U15potrafi dokonać krytycznej analizy sposobu funkcjonowania i ocenić - zwłaszcza w powiązaniu ze studiowanym kierunkiem studiów - istniejące rozwiązania techniczne, w szczególności urządzenia, obiekty, systemy, procesy, usługi
T2A_U17potrafi dokonać identyfikacji i sformułować specyfikację złożonych zadań inżynierskich, charakterystycznych dla studiowanego kierunku studiów, w tym zadań nietypowych, uwzględniając ich aspekty pozatechniczne
T2A_U18potrafi ocenić przydatność metod i narzędzi służących do rozwiązania zadania inżynierskiego, charakterystycznego dla studiowanego kierunku studiów, w tym dostrzec ograniczenia tych metod i narzędzi; potrafi - stosując także koncepcyjnie nowe metody - rozwiązywać złożone zadania inżynierskie, charakterystyczne dla studiowanego kierunku studiów, w tym zadania nietypowe oraz zadania zawierające komponent badawczy
T2A_U19potrafi - zgodnie z zadaną specyfikacją, uwzględniającą aspekty pozatechniczne - zaprojektować złożone urządzenie, obiekt, system lub proces, związane z zakresem studiowanego kierunku studiów, oraz zrealizować ten projekt - co najmniej w części - używając właściwych metod, technik i narzędzi, w tym przystosowując do tego celu istniejące lub opracowując nowe narzędzia
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-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-3pojęcie zaleznośći, rodzaje zależności w programach
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
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-W-6zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-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-12podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-13metodologia PCAM tworzenia algorytmów równoległych i rozproszonych
T-W-14modele wydajnościowe aplikacji rónoległych i rozproszonych
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-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-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
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_U02potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach, także w języku angielskim lub innym języku obcym uznawanym za język komunikacji międzynarodowej w zakresie studiowanego kierunku studiów
T2A_U03potrafi przygotować opracowanie naukowe w języku polskim i krótkie doniesienie naukowe w języku obcym, uznawanym za podstawowy dla dziedzin nauki i dyscyplin naukowych właściwych dla studiowanego kierunku studiów, przedstawiające wyniki własnych badań naukowych
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-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-3pojęcie zaleznośći, rodzaje zależności w programach
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
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-W-6zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-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-12podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-13metodologia PCAM tworzenia algorytmów równoległych i rozproszonych
T-W-14modele wydajnościowe aplikacji rónoległych i rozproszonych
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-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-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
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_U01potrafi pozyskiwać informacje z literatury, baz danych oraz innych właściwie dobranych źródeł, także w języku angielskim lub innym języku obcym uznawanym za język komunikacji międzynarodowej w zakresie studiowanego kierunku studiów; potrafi integrować uzyskane informacje, dokonywać ich interpretacji i krytycznej oceny, a także wyciągać wnioski oraz formułować i wyczerpująco uzasadniać opinie
T2A_U03potrafi przygotować opracowanie naukowe w języku polskim i krótkie doniesienie naukowe w języku obcym, uznawanym za podstawowy dla dziedzin nauki i dyscyplin naukowych właściwych dla studiowanego kierunku studiów, przedstawiające wyniki własnych badań naukowych
T2A_U04potrafi przygotować i przedstawić w języku polskim i języku obcym prezentację ustną, dotyczącą szczegółowych zagadnień z zakresu studiowanego kierunku studiów
T2A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T2A_U10potrafi - przy formułowaniu i rozwiązywaniu zadań inżynierskich - integrować wiedzę z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów oraz zastosować podejście systemowe, uwzględniające także aspekty pozatechniczne
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ą
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_K01rozumie potrzebę uczenia się przez całe życie; potrafi inspirować i organizować proces uczenia się innych osób
T2A_K07ma świadomość roli społecznej absolwenta uczelni technicznej, a zwłaszcza rozumie potrzebę formułowania i przekazywania społeczeństwu, w szczególności poprzez środki masowego przekazu, informacji i opinii dotyczących osiągnięć techniki i innych aspektów działalności inżynierskiej; podejmuje starania, aby przekazać takie informacje i opnie w sposób powszechnie zrozumiały, z uzasadnieniem różnych punktów widzenia
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-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-3pojęcie zaleznośći, rodzaje zależności w programach
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
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-W-6zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-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-12podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-13metodologia PCAM tworzenia algorytmów równoległych i rozproszonych
T-W-14modele wydajnościowe aplikacji rónoległych i rozproszonych
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-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-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
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_K02ma świadomość ważności i zrozumienie pozatechnicznych aspektów i skutków działalności inżynierskiej, w tym jej wpływu na środowisko, i związanej z tym odpowiedzialności za podejmowane decyzje
T2A_K03potrafi współdziałać i pracować w grupie, przyjmując w niej różne role
T2A_K04potrafi odpowiednio określić priorytety służące realizacji określonego przez siebie lub innych zadania
T2A_K07ma świadomość roli społecznej absolwenta uczelni technicznej, a zwłaszcza rozumie potrzebę formułowania i przekazywania społeczeństwu, w szczególności poprzez środki masowego przekazu, informacji i opinii dotyczących osiągnięć techniki i innych aspektów działalności inżynierskiej; podejmuje starania, aby przekazać takie informacje i opnie w sposób powszechnie zrozumiały, z uzasadnieniem różnych punktów widzenia
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-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-3pojęcie zaleznośći, rodzaje zależności w programach
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
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-W-6zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-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-12podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-13metodologia PCAM tworzenia algorytmów równoległych i rozproszonych
T-W-14modele wydajnościowe aplikacji rónoległych i rozproszonych
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-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-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