Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)

Sylabus przedmiotu Programowanie komputerów wielordzeniowych:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów nauk technicznych, studiów inżynierskich
Profil ogólnoakademicki
Moduł
Przedmiot Programowanie komputerów wielordzeniowych
Specjalność systemy komputerowe i oprogramowanie
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) 2,0 ECTS (formy) 2,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny 5 Grupa obieralna 1

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW7 30 1,20,50zaliczenie
laboratoriaL7 15 0,80,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
T-L-7zaliczenie formy zajęć1
15
wykłady
T-W-1architektura komputerów wielordzeniowych oraz jej związek z wydajnością aplikacji równoległych2
T-W-2podstawowe mierniki jakości aplikacji równoległych (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 wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołaniei zakończenia 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-10Biblioteki i narzędzia do tworzenia aplikacji równoległych komputerów wielordzeniowych: FORTRAN, OpenMP Java, POSIX, biblioteki Microsoft, biblioteki Java, Intel TBB2
T-W-11podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji3
T-W-12Metodologia PCAM tworzenia algorytmów równoległych3
T-W-13Modele wydajnościowe do aplikacji rónoległych2
30

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

KODForma aktywnościGodziny
laboratoria
A-L-1udział w laboratoriach15
A-L-2przygotowanie do laboratoriów8
A-L-3Udział w konsultacjach.1
24
wykłady
A-W-1Udział w wykładach30
A-W-2Przygotowanie do zaliczenia8
A-W-3Udział w konsultacjach i zaliczeniu4
42

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łceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_O1/09_W01
ma wiedzę w zakresie tworzenia algorytmów równoległych
I_1A_W05T1A_W03, T1A_W07InzA_W02C-1T-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-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6M-1S-2
I_1A_O1/09_W02
zna API i biblioteki do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
I_1A_W06T1A_W03, T1A_W05, T1A_W06, T1A_W07, T1A_W09InzA_W01, InzA_W02, InzA_W04, InzA_W05C-1M-1S-2
I_1A_O1/09_W03
zna podstawowe metody gromadzenia i przetwarzania danych i informacji w oparciu o komputery równoległe
I_1A_W17T1A_W03, T1A_W07InzA_W02, InzA_W05C-1T-W-13, T-L-1M-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łceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_O1/09_U01
potrafi w zakresie podstawowym projektować, implementować i testować oprogramowanie równoległe
I_1A_U01T1A_U01, T1A_U02, T1A_U04, T1A_U07, T1A_U08, T1A_U09, T1A_U14, T1A_U15, T1A_U16InzA_U01, InzA_U02, InzA_U06, InzA_U07, InzA_U08C-1M-2S-1
I_1A_O1/09_U02
Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych dotyczących wytwarzania oprogramowania równoległego
I_1A_U02T1A_U02, T1A_U03, T1A_U04, T1A_U07, T1A_U11, T1A_U12InzA_U01, InzA_U02, InzA_U03, InzA_U05, InzA_U06, InzA_U07, InzA_U08C-1T-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-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6M-2S-1
I_1A_O1/09_U03
potrafi posługiwać się dokumentacją techniczną do API OpenMP
I_1A_U05T1A_U01, T1A_U02, T1A_U06, T1A_U07, T1A_U13InzA_U05C-1T-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-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6M-2S-1
I_1A_O1/09_U04
ma umiejętność opracowania lub wyboru algorytmu i struktur danych do rozwiązania określonego zadania inżynierskiego za pomocą przetwarzania rónoległego
I_1A_U19T1A_U13, T1A_U15, T1A_U16InzA_U05, InzA_U07, InzA_U08C-1T-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-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6M-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łceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_O1/09_K01
świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą w zakresie programowania współbieżnego
I_1A_K01T1A_K01, T1A_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-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6M-2S-1
I_1A_O1/09_K02
ma świadomość odpowiedzialności za wspólnie realizowane zadania dotyczące tworzenia oprogramowania równoległego
I_1A_K03T1A_K02, T1A_K03, T1A_K04InzA_K01C-2M-2S-1

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_1A_O1/09_W01
ma wiedzę w zakresie tworzenia algorytmów równoległych
2,0nie zna podstawowych algorytmów projektowania algorytmów równoległych
3,0zna podstawowe algorytmy projektowania algorytmów równoległych
3,5zna podstawowe algorytmy projektowania algorytmów równoległych i wie jak zostasowąc je do zrównoleglenia prostych algorytmów sekwencyjnych
4,0zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i wie jak zostasowąc je do zrównoleglenia prostych algorytmów sekwencyjnych
4,5zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i wie jak i zostasowąc je do zrównoleglenia algorytmów sekwencyjnych
5,0zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i wie jak i zostasowąc je do zrównoleglenia algorytmów sekwencyjnych oraz potrafi udowodnić i uzasadnić swoją wypowiedż
I_1A_O1/09_W02
zna API i biblioteki do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
2,0nie zna API i bibliotek do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
3,0ma wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
3,5ma wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia prostych aplikacji
4,0ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia prostych aplikacji
4,5ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia zaawansowanych aplikacji
5,0ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia zaawansowanych aplikacji oraz potrafi udowodnić i uzasadnić odpowiedź
I_1A_O1/09_W03
zna podstawowe metody gromadzenia i przetwarzania danych i informacji w oparciu o komputery równoległe
2,0nie zna podstawowych algorytmów projektowania algorytmów równoległych, nie zna API i bibliotek do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
3,0zna podstawowe algorytmy projektowania algorytmów równoległych, ma wiedze o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
3,5zna podstawowe algorytmy projektowania algorytmów równoległych i potrafi zostasowąc je do zrównoleglenia prostych algorytmów rónoległych, ma wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia prostych aplikacji
4,0zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i potrafi zostasowąc je do zrównoleglenia prostych algorytmów rónoległych, ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia prostych aplikacji
4,5na szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i potrafi zostasowąc je do zrównoleglenia algorytmów rónoległych, ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia zaawansowanych aplikacji
5,0zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i potrafi zostasowąc je do zrównoleglenia algorytmów rónoległych oraz potrafi udowodnić i uzasadnić swoją wypowiedż, ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia zaawansowanych aplikacji oraz potrafi udowodnić i uzasadnić odpowiedź

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_1A_O1/09_U01
potrafi w zakresie podstawowym projektować, implementować i testować oprogramowanie równoległe
2,0nie spełnia kryteriów określonych dla oceny 3
3,0potrafi skompilować program z openmp z pragmami paralle 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 określić skalowalność i efektywność programu
I_1A_O1/09_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 poprzez wniesienie uwag do projektu
3,5wymagania na ocenę 3 - dodatkowo: - aktywnie uczestniczy w tworzeniu programu poprzez krytyczną ocenę proponowanych rozwiązań w grupie
4,0wymagania na ocenę 3,5 - dodatkowo: - potrafi przejąć inicjatywę w grupie dla składowych realizowanego projektu
4,5wymagania na ocenę 4,0 - dodatkowo: - potrafi wybrac poprawne rozwiazania ze wszytskich zaproponowanych w zespole
5,0wymagania na ocenę 4,5 - dodatkowo: - rozumie znaczenie pracy w zespole, poprawnie identyfikuje role jaką odgrywał w ramach prac projektowych
I_1A_O1/09_U03
potrafi posługiwać się dokumentacją techniczną do API OpenMP
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
I_1A_O1/09_U04
ma umiejętność opracowania lub wyboru algorytmu i struktur danych do rozwiązania określonego zadania inżynierskiego za pomocą przetwarzania rónoległego
2,0nie spełnia kryteriów określonych dla oceny 3
3,0zna podstawowe etapy modelu PCAM
3,5wymagania na ocenę 3,0 - dodatkowo: - potrafi szczegółowo opisać etapy modelu PCAM
4,0wymagania na ocenę 3,5 - dodatkowo: - potrafi opisać i rozumie trudnosci zwiazane z tworzeniem programow rownoleglych
4,5wymagania na ocenę 4,0 - dodatkowo: - potrafi wskazać poszczególne etapy modelu PCAM w swoich programach
5,0wymagania na ocenę 4,5 - dodatkowo: - potrafi wyjaśnić wagę etapów PCAM w kontekście uzyskiwanych wyników

Kryterium oceny - inne kompetencje społeczne i personalne

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

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. Szczecin, 2007, Politechnika Szczecińska, Szczecin, 2007
  3. Rohit Chandra et al., Parallel Programming in OpenMP, Academic Press, London, 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
T-L-7zaliczenie formy zajęć1
15

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1architektura komputerów wielordzeniowych oraz jej związek z wydajnością aplikacji równoległych2
T-W-2podstawowe mierniki jakości aplikacji równoległych (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 wątku, podstawowe konstrukcje aplikacji równoległych w OpenMP: region równoległy, powołaniei zakończenia 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-10Biblioteki i narzędzia do tworzenia aplikacji równoległych komputerów wielordzeniowych: FORTRAN, OpenMP Java, POSIX, biblioteki Microsoft, biblioteki Java, Intel TBB2
T-W-11podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji3
T-W-12Metodologia PCAM tworzenia algorytmów równoległych3
T-W-13Modele wydajnościowe do aplikacji rónoległych2
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1udział w laboratoriach15
A-L-2przygotowanie do laboratoriów8
A-L-3Udział w konsultacjach.1
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 zaliczenia8
A-W-3Udział w konsultacjach i zaliczeniu4
42
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O1/09_W01ma wiedzę w zakresie tworzenia algorytmów równoległych
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W05ma wiedzę w zakresie algorytmizacji i zasad tworzenia struktur danych
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
T1A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_W02zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
Cel przedmiotuC-1Uksztatowanie wiedzy i umiejtnoci niezbędnych do opracowania aplikacji równolegych dla komputerów wielerdzeniowych
Treści programoweT-W-1architektura komputerów wielordzeniowych oraz jej związek z wydajnością aplikacji równoległych
T-W-2podstawowe mierniki jakości aplikacji równoległych (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 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-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-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-11podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-12Metodologia PCAM tworzenia algorytmów równoległych
T-W-13Modele wydajnościowe do aplikacji rónoległych
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 do mnożenie macierzy z wykorzystaniem pragm OpenMP, sprawdzenie przyspieszenia i efektywnosci napisanej aplikacji.
T-L-6Napisanie aplikacji rwnoległej w OpenMP do wybranego algorytmu z dziedziny metod numerycznych.
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
3,0zna podstawowe algorytmy projektowania algorytmów równoległych
3,5zna podstawowe algorytmy projektowania algorytmów równoległych i wie jak zostasowąc je do zrównoleglenia prostych algorytmów sekwencyjnych
4,0zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i wie jak zostasowąc je do zrównoleglenia prostych algorytmów sekwencyjnych
4,5zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i wie jak i zostasowąc je do zrównoleglenia algorytmów sekwencyjnych
5,0zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i wie jak i zostasowąc je do zrównoleglenia algorytmów sekwencyjnych oraz potrafi udowodnić i uzasadnić swoją wypowiedż
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O1/09_W02zna API i biblioteki do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W06zna wybrane języki i techniki programowania, podstawowe techniki projektowania i wytwarzania aplikacji oraz systemów informatycznych
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
T1A_W05ma podstawową wiedzę o trendach rozwojowych z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów
T1A_W06ma podstawową wiedzę o cyklu życia urządzeń, obiektów i systemów technicznych
T1A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
T1A_W09ma podstawową wiedzę dotyczącą zarządzania, w tym zarządzania jakością, i prowadzenia działalności gospodarczej
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_W01ma podstawową wiedzę o cyklu życia urządzeń, obiektów i systemów technicznych
InzA_W02zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
InzA_W04ma podstawową wiedzę dotyczącą zarządzania, w tym zarządzania jakością, i prowadzenia działalności gospodarczej
InzA_W05zna typowe technologie inżynierskie w zakresie studiowanego kierunku studiów
Cel przedmiotuC-1Uksztatowanie wiedzy i umiejtnoci niezbędnych do opracowania aplikacji równolegych dla komputerów wielerdzeniowych
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 API i bibliotek do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
3,0ma wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
3,5ma wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia prostych aplikacji
4,0ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia prostych aplikacji
4,5ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia zaawansowanych aplikacji
5,0ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia zaawansowanych aplikacji oraz potrafi udowodnić i uzasadnić odpowiedź
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O1/09_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_1A_W17zna podstawowe metody gromadzenia i przetwarzania danych i informacji
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_W03ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną obejmującą kluczowe zagadnienia z zakresu studiowanego kierunku studiów
T1A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_W02zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu prostych zadań inżynierskich z zakresu studiowanego kierunku studiów
InzA_W05zna typowe technologie inżynierskie w zakresie studiowanego kierunku studiów
Cel przedmiotuC-1Uksztatowanie wiedzy i umiejtnoci niezbędnych do opracowania aplikacji równolegych dla komputerów wielerdzeniowych
Treści programoweT-W-13Modele wydajnościowe do aplikacji rónoległych
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel".
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, nie zna API i bibliotek do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
3,0zna podstawowe algorytmy projektowania algorytmów równoległych, ma wiedze o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
3,5zna podstawowe algorytmy projektowania algorytmów równoległych i potrafi zostasowąc je do zrównoleglenia prostych algorytmów rónoległych, ma wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia prostych aplikacji
4,0zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i potrafi zostasowąc je do zrównoleglenia prostych algorytmów rónoległych, ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia prostych aplikacji
4,5na szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i potrafi zostasowąc je do zrównoleglenia algorytmów rónoległych, ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia zaawansowanych aplikacji
5,0zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i potrafi zostasowąc je do zrównoleglenia algorytmów rónoległych oraz potrafi udowodnić i uzasadnić swoją wypowiedż, ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych dla komputerów wielordzeniowych i potrafi zostasować ją do tworzenia zaawansowanych aplikacji oraz potrafi udowodnić i uzasadnić odpowiedź
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O1/09_U01potrafi w zakresie podstawowym projektować, implementować i testować oprogramowanie równoległe
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U01potrafi w zakresie podstawowym projektować, implementować i testować oprogramowanie
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_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, a także wyciągać wnioski oraz formułować i uzasadniać opinie
T1A_U02potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach
T1A_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
T1A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T1A_U08potrafi planować i przeprowadzać eksperymenty, w tym pomiary i symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski
T1A_U09potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich metody analityczne, symulacyjne oraz eksperymentalne
T1A_U14potrafi dokonać identyfikacji i sformułować specyfikację prostych zadań inżynierskich o charakterze praktycznym, charakterystycznych dla studiowanego kierunku studiów
T1A_U15potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
T1A_U16potrafi - zgodnie z zadaną specyfikacją - zaprojektować oraz zrealizować proste urządzenie, obiekt, system lub proces, typowe dla studiowanego kierunku studiów, używając właściwych metod, technik i narzędzi
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_U01potrafi planować i przeprowadzać eksperymenty, w tym pomiary i symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski
InzA_U02potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich metody analityczne, symulacyjne oraz eksperymentalne
InzA_U06potrafi dokonać identyfikacji i sformułować specyfikację prostych zadań inżynierskich o charakterze praktycznym, charakterystycznych dla studiowanego kierunku studiów
InzA_U07potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
InzA_U08potrafi - zgodnie z zadaną specyfikacją - zaprojektować proste urządzenie, obiekt, system lub proces, typowe dla studiowanego kierunku studiów, używając właściwych metod, technik i narzędzi
Cel przedmiotuC-1Uksztatowanie wiedzy i umiejtnoci niezbędnych do opracowania aplikacji równolegych dla komputerów wielerdzeniowych
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 paralle 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 określić skalowalność i efektywność programu
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O1/09_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_1A_U02potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_U02potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach
T1A_U03potrafi przygotować w języku polskim i języku obcym, uznawanym za podstawowy dla dziedzin nauki i dyscyplin naukowych właściwych dla studiowanego kierunku studiów, dobrze udokumentowane opracowanie problemów z zakresu studiowanego kierunku studiów
T1A_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
T1A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T1A_U11ma przygotowanie niezbędne do pracy w środowisku przemysłowym oraz zna zasady bezpieczeństwa związane z tą pracą
T1A_U12potrafi dokonać wstępnej analizy ekonomicznej podejmowanych działań inżynierskich
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_U01potrafi planować i przeprowadzać eksperymenty, w tym pomiary i symulacje komputerowe, interpretować uzyskane wyniki i wyciągać wnioski
InzA_U02potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich metody analityczne, symulacyjne oraz eksperymentalne
InzA_U03potrafi - przy formułowaniu i rozwiązywaniu zadań inżynierskich - dostrzegać ich aspekty systemowe i pozatechniczne
InzA_U05potrafi 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
InzA_U06potrafi dokonać identyfikacji i sformułować specyfikację prostych zadań inżynierskich o charakterze praktycznym, charakterystycznych dla studiowanego kierunku studiów
InzA_U07potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
InzA_U08potrafi - zgodnie z zadaną specyfikacją - zaprojektować proste urządzenie, obiekt, system lub proces, typowe dla studiowanego kierunku studiów, używając właściwych metod, technik i narzędzi
Cel przedmiotuC-1Uksztatowanie wiedzy i umiejtnoci niezbędnych do opracowania aplikacji równolegych dla komputerów wielerdzeniowych
Treści programoweT-W-1architektura komputerów wielordzeniowych oraz jej związek z wydajnością aplikacji równoległych
T-W-2podstawowe mierniki jakości aplikacji równoległych (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 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-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-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-11podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-12Metodologia PCAM tworzenia algorytmów równoległych
T-W-13Modele wydajnościowe do aplikacji rónoległych
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 do mnożenie macierzy z wykorzystaniem pragm OpenMP, sprawdzenie przyspieszenia i efektywnosci napisanej aplikacji.
T-L-6Napisanie aplikacji rwnoległej w OpenMP do wybranego algorytmu z dziedziny metod numerycznych.
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 poprzez wniesienie uwag do projektu
3,5wymagania na ocenę 3 - dodatkowo: - aktywnie uczestniczy w tworzeniu programu poprzez krytyczną ocenę proponowanych rozwiązań w grupie
4,0wymagania na ocenę 3,5 - dodatkowo: - potrafi przejąć inicjatywę w grupie dla składowych realizowanego projektu
4,5wymagania na ocenę 4,0 - dodatkowo: - potrafi wybrac poprawne rozwiazania ze wszytskich zaproponowanych w zespole
5,0wymagania na ocenę 4,5 - dodatkowo: - rozumie znaczenie pracy w zespole, poprawnie identyfikuje role jaką odgrywał w ramach prac projektowych
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O1/09_U03potrafi posługiwać się dokumentacją techniczną do API OpenMP
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U05potrafi tworzyć i posługiwać się dokumentacją techniczną
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_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, a także wyciągać wnioski oraz formułować i uzasadniać opinie
T1A_U02potrafi porozumiewać się przy użyciu różnych technik w środowisku zawodowym oraz w innych środowiskach
T1A_U06ma umiejętności językowe w zakresie dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów, zgodne z wymaganiami określonymi dla poziomu B2 Europejskiego Systemu Opisu Kształcenia Językowego
T1A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T1A_U13potrafi 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
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_U05potrafi 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
Cel przedmiotuC-1Uksztatowanie wiedzy i umiejtnoci niezbędnych do opracowania aplikacji równolegych dla komputerów wielerdzeniowych
Treści programoweT-W-1architektura komputerów wielordzeniowych oraz jej związek z wydajnością aplikacji równoległych
T-W-2podstawowe mierniki jakości aplikacji równoległych (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 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-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-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-11podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-12Metodologia PCAM tworzenia algorytmów równoległych
T-W-13Modele wydajnościowe do aplikacji rónoległych
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 do mnożenie macierzy z wykorzystaniem pragm OpenMP, sprawdzenie przyspieszenia i efektywnosci napisanej aplikacji.
T-L-6Napisanie aplikacji rwnoległej w OpenMP do wybranego algorytmu z dziedziny metod numerycznych.
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_1A_O1/09_U04ma umiejętność opracowania lub wyboru algorytmu i struktur danych do rozwiązania określonego zadania inżynierskiego za pomocą przetwarzania rónoległego
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U19ma umiejętność wyboru algorytmu i struktur danych do rozwiązania określonego zadania inżynierskiego
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_U13potrafi 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
T1A_U15potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
T1A_U16potrafi - zgodnie z zadaną specyfikacją - zaprojektować oraz zrealizować proste urządzenie, obiekt, system lub proces, typowe dla studiowanego kierunku studiów, używając właściwych metod, technik i narzędzi
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_U05potrafi 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
InzA_U07potrafi ocenić przydatność rutynowych metod i narzędzi służących do rozwiązania prostego zadania inżynierskiego o charakterze praktycznym, charakterystycznego dla studiowanego kierunku studiów oraz wybrać i zastosować właściwą metodę i narzędzia
InzA_U08potrafi - zgodnie z zadaną specyfikacją - zaprojektować proste urządzenie, obiekt, system lub proces, typowe dla studiowanego kierunku studiów, używając właściwych metod, technik i narzędzi
Cel przedmiotuC-1Uksztatowanie wiedzy i umiejtnoci niezbędnych do opracowania aplikacji równolegych dla komputerów wielerdzeniowych
Treści programoweT-W-1architektura komputerów wielordzeniowych oraz jej związek z wydajnością aplikacji równoległych
T-W-2podstawowe mierniki jakości aplikacji równoległych (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 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-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-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-11podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-12Metodologia PCAM tworzenia algorytmów równoległych
T-W-13Modele wydajnościowe do aplikacji rónoległych
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 do mnożenie macierzy z wykorzystaniem pragm OpenMP, sprawdzenie przyspieszenia i efektywnosci napisanej aplikacji.
T-L-6Napisanie aplikacji rwnoległej w OpenMP do wybranego algorytmu z dziedziny metod numerycznych.
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,0zna podstawowe etapy modelu PCAM
3,5wymagania na ocenę 3,0 - dodatkowo: - potrafi szczegółowo opisać etapy modelu PCAM
4,0wymagania na ocenę 3,5 - dodatkowo: - potrafi opisać i rozumie trudnosci zwiazane z tworzeniem programow rownoleglych
4,5wymagania na ocenę 4,0 - dodatkowo: - potrafi wskazać poszczególne etapy modelu PCAM w swoich programach
5,0wymagania na ocenę 4,5 - dodatkowo: - potrafi wyjaśnić wagę etapów PCAM w kontekście uzyskiwanych wyników
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O1/09_K01świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą w zakresie programowania współbieżnego
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_K01świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_K01rozumie potrzebę uczenia się przez całe życie; potrafi inspirować i organizować proces uczenia się innych osób
T1A_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 opinie w sposób powszechnie zrozumiały
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-1architektura komputerów wielordzeniowych oraz jej związek z wydajnością aplikacji równoległych
T-W-2podstawowe mierniki jakości aplikacji równoległych (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 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-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-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-11podstawowe czynniki mające wpływ na wydajność aplikacji, sposoby pozwalające na tworzenie wydajnych aplikacji
T-W-12Metodologia PCAM tworzenia algorytmów równoległych
T-W-13Modele wydajnościowe do aplikacji rónoległych
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 do mnożenie macierzy z wykorzystaniem pragm OpenMP, sprawdzenie przyspieszenia i efektywnosci napisanej aplikacji.
T-L-6Napisanie aplikacji rwnoległej w OpenMP do wybranego algorytmu z dziedziny metod numerycznych.
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
3,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania aplikacji równoległych 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 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 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 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 oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 5,0
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O1/09_K02ma świadomość odpowiedzialności za wspólnie realizowane zadania dotyczące tworzenia oprogramowania równoległego
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_K03ma świadomość odpowiedzialności za wspólnie realizowane zadania
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT1A_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
T1A_K03potrafi współdziałać i pracować w grupie, przyjmując w niej różne role
T1A_K04potrafi odpowiednio określić priorytety służące realizacji określonego przez siebie lub innych zadania
Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraInzA_K01ma świadomość ważności i rozumie pozatechniczne aspekty i skutki działalności inżynierskiej, w tym jej wpływu na środowisko, i związanej z tym odpowiedzialności za podejmowane decyzje
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania współbieżnego
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 oprogramowania równoległego
3,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania oprogramowania równoległego oraz zrealizował swoją część zadania z oceną 3,0
3,5Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania oprogramowania równoległego oraz zrealizował swoją część zadania z oceną 3,5
4,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania oprogramowania równoległego oraz zrealizował swoją część zadania z oceną 4,0
4,5Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania oprogramowania równoległego oraz zrealizował swoją część zadania z oceną 4,5
5,0Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących wytwarzania oprogramowania równoległego oraz zrealizował swoją część zadania z oceną 5,0