Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (N2)
specjalność: inżynieria oprogramowania

Sylabus przedmiotu Programowanie równoległe i rozproszone - Przedmiot obieralny II:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia niestacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister
Obszary studiów nauk technicznych
Profil ogólnoakademicki
Moduł
Przedmiot Programowanie równoległe i rozproszone - Przedmiot obieralny II
Specjalność projektowanie i zarządzanie projektami informatycznymi
Jednostka prowadząca Katedra Inżynierii Oprogramowania
Nauczyciel odpowiedzialny Marek Pałkowski <Marek.Palkowski@zut.edu.pl>
Inni nauczyciele
ECTS (planowane) 4,0 ECTS (formy) 4,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny 9 Grupa obieralna 1

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW3 16 2,00,50zaliczenie
laboratoriaL3 16 2,00,50zaliczenie

Wymagania wstępne

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

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Uksztatowanie wiedzy i umiejtnoci niezbędnych do opracowania aplikacji równolegych dla komputerów wielerdzeniowych
C-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania współbieżnego

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.3
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 do mnożenie macierzy z wykorzystaniem pragm OpenMP, sprawdzenie przyspieszenia i efektywnosci napisanej aplikacji.3
T-L-6Napisanie aplikacji rwnoległej w OpenMP do wybranego algorytmu z dziedziny metod numerycznych.2
14
wykłady
T-W-1architektura komputerów wielordzeniowych oraz jej związek z wydajnością aplikacji równoległych1
T-W-2podstawowe mierniki jakości aplikacji równoległych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a1
T-W-3Pojęcie zaleznośći, rodzaje zależności w programach1
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE1
T-W-5pojęcie wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołaniei zakończenia wątków, model obliczeń1
T-W-6Zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków1
T-W-7konstrukcje podziału pracy między wątki w OpenMP1
T-W-8Mechanizmy synchronizacji w OpenMP2
T-W-9Mechanizm zadań w OpenMP(tasking)1
T-W-10Biblioteki i narzędzia do tworzenia aplikacji równoległych komputerów wielordzeniowych: FORTRAN, OpenMP Java, POSIX, biblioteki Microsoft, biblioteki Java, Intel TBB1
T-W-11podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji2
T-W-12Metodologia PCAM tworzenia algorytmów równoległych2
T-W-13Modele wydajnościowe do aplikacji rónoległych1
16

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

KODForma aktywnościGodziny
laboratoria
A-L-1udział w laboratoriach15
A-L-2przygotowanie do laboratoriów45
60
wykłady
A-W-1Udział w wykładach16
A-W-2Przygotowanie do egzaminu30
46

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_D16/O/2-3_W01
ma wiedzę w zakresie tworzenia algorytmów równoległych
I_2A_W04T2A_W04, T2A_W07C-2T-W-2, T-W-4, T-W-11, T-W-7M-1S-2
I_2A_D16/O/2-3_W02
zna API i biblioteki do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
I_2A_W10T2A_W02, T2A_W05C-2T-W-10, T-W-7, T-W-13, T-W-3M-1S-1
I_2A_D16/O/2-3_W03
zna podstawowe metody gromadzenia i przetwarzania danych i informacji w oparciu o komputery równoległe
I_2A_W04T2A_W04, T2A_W07C-2T-W-5, T-W-12, T-W-9, T-W-4M-1S-1

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_D16/O/2-3_U01
potrafi przeprowadzac badania
I_2A_U05T2A_U08, T2A_U09, T2A_U11C-2T-W-2, T-W-6, T-W-3M-2S-1
I_2A_D16/O/2-3_U02
potrafi rozwiazac problemy praktyczne w tworzeniu aplikacji inznierskich
I_2A_U04, I_2A_U07T2A_U09, T2A_U12, T2A_U16, T2A_U17, T2A_U18C-2T-W-4, T-W-6, T-W-11, T-W-9M-2S-2

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_D16/O/2-3_K01
rozwija swoje umiejetnosci
I_2A_K02T2A_K01, T2A_K07C-2T-W-11, T-W-10, T-W-2M-2S-2

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_2A_D16/O/2-3_W01
ma wiedzę w zakresie tworzenia algorytmów równoległych
2,0nie potrrafi zdefiniować programu współbieżnego, współbieżności oraz rozróżnić równoległość od współbieżności
3,0rozumie pojęcie współbieżności, potrafi wyjaśnić definicję programu równoległego i odróżnić go od współbieżnego
3,5ma więdze na 3.0 oraz umie zdefiniować trudności w tworzeniu oprogramowania współbieżnego i równoległego oraz algorytmów, potrafi przedstawić podstawowe mechanizmy synchronizacji
4,0ma wiedzę na 3.5 oraz umiejętnie określa trudności w tworzeniu programów współbieżnych z odpowiednim doborem metod synchronizacji
4,5ma wiedzę na 4.0 oraz potrafi zdefiniować zagrożenia w tworzeniu oprogramowania współbieżnego
5,0ma wiedzę na 4.5 i potrafi wyjaśnić trudności w testowaniu oprogramowania współbieżnego
I_2A_D16/O/2-3_W02
zna API i biblioteki do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
2,0nie potrafi opisać pragmy parallel i for
3,0potrafi w podstawowym zakresie określić pragmę parallel i for
3,5potrafi w podstawowym zakresie określić pragmę parallel, for i sections
4,0potrafi w podstawowym zakresie określić pragmę parallel, for i sections oraz zna pragmy barrier i atomic
4,5ma wiedzę na 4.0 i zna definicje funkcji openmp
5,0ma wiedzę na 4.5 i zna mechanizmy lock w openmp
I_2A_D16/O/2-3_W03
zna podstawowe metody gromadzenia i przetwarzania danych i informacji w oparciu o komputery równoległe
2,0nie umie wyjaśnić taksonomi Flynna
3,0potrafi wyjaśnić taksonomię Flynna
3,5potrafi wyjaśnić taksonomię Flynna i podać przykładowe architektury
4,0ma wiedzę 3.5 i opisać rozwój architektur równoległych
4,5ma wiedzę 4.0 i potrafi opisać architektury ze względu na dostęp do pamięci
5,0ma wiedzę na 4.5 i umie opisać model PCAM

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_2A_D16/O/2-3_U01
potrafi przeprowadzac badania
2,0nie zna podstawowych informacji z modelu PCAM
3,0zna podstawowe etapy modelu PCAM
3,5potrafi szczegółowo opisać etapy modelu PCAM
4,0potrafi szczegółowo opisać etapy modelu PCAM i opisać ich trudność do programowania sekwencyjnego
4,5potrafi szczegółowo opisać etapy modelu PCAM i opisać ich trudność do programowania sekwencyjnego oraz nawiązać do modelu w swoich programach
5,0potrafi szczegółowo opisać etapy modelu PCAM i opisać ich trudność do programowania sekwencyjnego oraz nawiązać do modelu w swoich programach, a także potrafi wyjaśnić wagę etapów PCAM w kontekście uzyskiwanych wyników
I_2A_D16/O/2-3_U02
potrafi rozwiazac problemy praktyczne w tworzeniu aplikacji inznierskich
2,0nie zna zastosowania OpenMP i innych podobnych pakietów, nie potrafi wyjaśnić potrzeby ich opracowania
3,0zna podstawowe zastosowania pakietu OpenMP
3,5zna podstawowe zastosowania pakietu OpenMP oraz dziedziny zastosowania tego typu oprogramowania
4,0ma wiedzę na 3.5 oraz zna podstawy Intel TBB
4,5ma wiedzę na 4.0 oraz zna różnice pomiędzy OpenMP i TBB
5,0ma wiedzę na 4.5 i potrafi opisać cechy programowania obiektowego w TBB

Kryterium oceny - inne kompetencje społeczne i personalne

Efekt kształceniaOcenaKryterium oceny
I_2A_D16/O/2-3_K01
rozwija swoje umiejetnosci
2,0nie rouzmie potrzeb programowania wspóbieżnego
3,0potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania
3,5potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego
4,0potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego oraz kart graficznych
4,5potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego oraz kart graficznych i urządzeń mobilnych
5,0potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego oraz kart graficznych i urządzeń mobilnych, rozwiązań klastrowych

Literatura podstawowa

  1. W. Bielecki, Essentials of parallel and distributed computing, Politechnika Szczecińska, Szczecin, 2002
  2. W. Bielecki, Przetwarzanie równoległe i rozproszone, Programowanie komputerów wielordzeniowych, Szczecin, 2007, Politechnika Szczecińska, 2007
  3. Rohit Chandra et al., Parallel Programming in OpenMP, Programowanie komputerów wielordzeniowych, Londyn, 2001
  4. Chapman, Jost, and Van Der Pas, Using OpenMP, The MIT Press Cambridge, 2008

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.3
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 do mnożenie macierzy z wykorzystaniem pragm OpenMP, sprawdzenie przyspieszenia i efektywnosci napisanej aplikacji.3
T-L-6Napisanie aplikacji rwnoległej w OpenMP do wybranego algorytmu z dziedziny metod numerycznych.2
14

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1architektura komputerów wielordzeniowych oraz jej związek z wydajnością aplikacji równoległych1
T-W-2podstawowe mierniki jakości aplikacji równoległych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a1
T-W-3Pojęcie zaleznośći, rodzaje zależności w programach1
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE1
T-W-5pojęcie wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołaniei zakończenia wątków, model obliczeń1
T-W-6Zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków1
T-W-7konstrukcje podziału pracy między wątki w OpenMP1
T-W-8Mechanizmy synchronizacji w OpenMP2
T-W-9Mechanizm zadań w OpenMP(tasking)1
T-W-10Biblioteki i narzędzia do tworzenia aplikacji równoległych komputerów wielordzeniowych: FORTRAN, OpenMP Java, POSIX, biblioteki Microsoft, biblioteki Java, Intel TBB1
T-W-11podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji2
T-W-12Metodologia PCAM tworzenia algorytmów równoległych2
T-W-13Modele wydajnościowe do aplikacji rónoległych1
16

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1udział w laboratoriach15
A-L-2przygotowanie do laboratoriów45
60
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Udział w wykładach16
A-W-2Przygotowanie do egzaminu30
46
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D16/O/2-3_W01ma wiedzę w zakresie tworzenia algorytmów równoległych
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-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania współbieżnego
Treści programoweT-W-2podstawowe mierniki jakości aplikacji równoległych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-11podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-7konstrukcje podziału pracy między wątki w OpenMP
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 potrrafi zdefiniować programu współbieżnego, współbieżności oraz rozróżnić równoległość od współbieżności
3,0rozumie pojęcie współbieżności, potrafi wyjaśnić definicję programu równoległego i odróżnić go od współbieżnego
3,5ma więdze na 3.0 oraz umie zdefiniować trudności w tworzeniu oprogramowania współbieżnego i równoległego oraz algorytmów, potrafi przedstawić podstawowe mechanizmy synchronizacji
4,0ma wiedzę na 3.5 oraz umiejętnie określa trudności w tworzeniu programów współbieżnych z odpowiednim doborem metod synchronizacji
4,5ma wiedzę na 4.0 oraz potrafi zdefiniować zagrożenia w tworzeniu oprogramowania współbieżnego
5,0ma wiedzę na 4.5 i potrafi wyjaśnić trudności w testowaniu oprogramowania współbieżnego
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D16/O/2-3_W02zna API i biblioteki do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W10Ma poszerzoną wiedzę dotyczącą trendów rozwojowych i możliwości zastosowania informatyki w wybranych obszarach nauki i techniki
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_W02ma szczegółową wiedzę w zakresie kierunków studiów powiązanych ze studiowanym kierunkiem studiów
T2A_W05ma wiedzę o trendach rozwojowych i najistotniejszych nowych osiągnięciach z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów i pokrewnych dyscyplin naukowych
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania współbieżnego
Treści programoweT-W-10Biblioteki i narzędzia do tworzenia aplikacji równoległych komputerów wielordzeniowych: FORTRAN, OpenMP Java, POSIX, biblioteki Microsoft, biblioteki Java, Intel TBB
T-W-7konstrukcje podziału pracy między wątki w OpenMP
T-W-13Modele wydajnościowe do aplikacji rónoległych
T-W-3Pojęcie zaleznośći, rodzaje zależności w programach
Metody nauczaniaM-1Wykad informacyjny/konwersatoryjny
Sposób ocenyS-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
Kryteria ocenyOcenaKryterium oceny
2,0nie potrafi opisać pragmy parallel i for
3,0potrafi w podstawowym zakresie określić pragmę parallel i for
3,5potrafi w podstawowym zakresie określić pragmę parallel, for i sections
4,0potrafi w podstawowym zakresie określić pragmę parallel, for i sections oraz zna pragmy barrier i atomic
4,5ma wiedzę na 4.0 i zna definicje funkcji openmp
5,0ma wiedzę na 4.5 i zna mechanizmy lock w openmp
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D16/O/2-3_W03zna podstawowe metody gromadzenia i przetwarzania danych i informacji w oparciu o komputery równoległe
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-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania współbieżnego
Treści programoweT-W-5pojęcie wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołaniei zakończenia wątków, model obliczeń
T-W-12Metodologia PCAM tworzenia algorytmów równoległych
T-W-9Mechanizm zadań w OpenMP(tasking)
T-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
Metody nauczaniaM-1Wykad informacyjny/konwersatoryjny
Sposób ocenyS-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
Kryteria ocenyOcenaKryterium oceny
2,0nie umie wyjaśnić taksonomi Flynna
3,0potrafi wyjaśnić taksonomię Flynna
3,5potrafi wyjaśnić taksonomię Flynna i podać przykładowe architektury
4,0ma wiedzę 3.5 i opisać rozwój architektur równoległych
4,5ma wiedzę 4.0 i potrafi opisać architektury ze względu na dostęp do pamięci
5,0ma wiedzę na 4.5 i umie opisać model PCAM
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D16/O/2-3_U01potrafi przeprowadzac badania
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U05Potrafi prawidłowo zaplanować, przeprowadzić eksperyment badawczy, dokonać analizy i prezentacji uzyskanych wyników
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_U08potrafi planować i przeprowadzać eksperymenty, w tym pomiary i symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski
T2A_U09potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich i prostych problemów badawczych metody analityczne, symulacyjne i eksperymentalne
T2A_U11potrafi formułować i testować hipotezy związane z problemami inżynierskimi i prostymi problemami badawczymi
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania współbieżnego
Treści programoweT-W-2podstawowe mierniki jakości aplikacji równoległych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a
T-W-6Zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-3Pojęcie zaleznośći, rodzaje zależności w programach
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 zna podstawowych informacji z modelu PCAM
3,0zna podstawowe etapy modelu PCAM
3,5potrafi szczegółowo opisać etapy modelu PCAM
4,0potrafi szczegółowo opisać etapy modelu PCAM i opisać ich trudność do programowania sekwencyjnego
4,5potrafi szczegółowo opisać etapy modelu PCAM i opisać ich trudność do programowania sekwencyjnego oraz nawiązać do modelu w swoich programach
5,0potrafi szczegółowo opisać etapy modelu PCAM i opisać ich trudność do programowania sekwencyjnego oraz nawiązać do modelu w swoich programach, a także potrafi wyjaśnić wagę etapów PCAM w kontekście uzyskiwanych wyników
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D16/O/2-3_U02potrafi rozwiazac problemy praktyczne w tworzeniu aplikacji inznierskich
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U04Potrafi wybrać, krytycznie ocenić przydatność i zastosować metodę i narzędzia rozwiązania złożonego zadania inżynierskiego
I_2A_U07Potrafi wykorzystywać poznane metody, techniki i modele do rozwiązywania złożonych problemów
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_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_U16potrafi zaproponować ulepszenia (usprawnienia) istniejących rozwiązań technicznych
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
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania współbieżnego
Treści programoweT-W-4podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-6Zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-11podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-9Mechanizm zadań w OpenMP(tasking)
Metody nauczaniaM-2Ćwiczenia laboratoryjne
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 zastosowania OpenMP i innych podobnych pakietów, nie potrafi wyjaśnić potrzeby ich opracowania
3,0zna podstawowe zastosowania pakietu OpenMP
3,5zna podstawowe zastosowania pakietu OpenMP oraz dziedziny zastosowania tego typu oprogramowania
4,0ma wiedzę na 3.5 oraz zna podstawy Intel TBB
4,5ma wiedzę na 4.0 oraz zna różnice pomiędzy OpenMP i TBB
5,0ma wiedzę na 4.5 i potrafi opisać cechy programowania obiektowego w TBB
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D16/O/2-3_K01rozwija swoje umiejetnosci
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 współbieżnego
Treści programoweT-W-11podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-10Biblioteki i narzędzia do tworzenia aplikacji równoległych komputerów wielordzeniowych: FORTRAN, OpenMP Java, POSIX, biblioteki Microsoft, biblioteki Java, Intel TBB
T-W-2podstawowe mierniki jakości aplikacji równoległych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a
Metody nauczaniaM-2Ćwiczenia laboratoryjne
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 rouzmie potrzeb programowania wspóbieżnego
3,0potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania
3,5potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego
4,0potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego oraz kart graficznych
4,5potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego oraz kart graficznych i urządzeń mobilnych
5,0potrafi opisać problemy programowania współbieżnego i dziedzinę zastosowania w kontekćie obecnie roziwjanego sprzętu wielordzeniowego oraz kart graficznych i urządzeń mobilnych, rozwiązań klastrowych