Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)
specjalność: systemy komputerowe i oprogramowanie

Sylabus przedmiotu Programowanie współbieżne - Przedmiot obieralny I:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów nauki techniczne, studia inżynierskie
Profil ogólnoakademicki
Moduł
Przedmiot Programowanie współbieżne - Przedmiot obieralny I
Specjalność systemy komputerowe i oprogramowanie
Jednostka prowadząca Katedra Inżynierii Oprogramowania
Nauczyciel odpowiedzialny Marek Pałkowski <Marek.Palkowski@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 6 Grupa obieralna 4

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW5 15 0,90,62zaliczenie
laboratoriaL5 15 1,10,38zaliczenie

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-1Ukształtowanie wiedzy i umiejętności niezbędnych do opracowania aplikacji równoległych w standardzie OpenMP
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 - praca w zespole2
T-L-7zaliczenie laboratoriów1
15
wykłady
T-W-1Architektura komputerów równoległych 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’a2
T-W-3Pojęcie zależności, rodzaje zależności. Podstawowe transformacje pętli (FAN, PAR, PIPE)3
T-W-4Pojęcie wątku. Standard OpenMP: model, podstawowe konstrukcje aplikacji równoległych( region równoległy, konstrukcje tworzenia wątków, zarządzanie liczbą wątków)2
T-W-5Standard OpenMP: synchronizacja barierowa, sekcja krytyczna, konstrukcje podziału pracy między wątki.2
T-W-6Standard OpenMP: Zrównoleglenie pętli, szeregowanie iteracji pętli do wątków2
T-W-7Podstawowe czynniki mające wpływ na wydajność aplikacji równoległych , sposoby pozwalające na tworzenie wydajnych aplikacji. Metodologia PCAM do tworzenia algorytmów równoległych, Modele wydajnościowe do aplikacji rónoległych.3
15

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

KODForma aktywnościGodziny
laboratoria
A-L-1udział w laboratoriach15
A-L-2przygotowanie do laboratoriów15
A-L-3konsultacje do laboratorium2
32
wykłady
A-W-1Udział w wykładach15
A-W-2Przygotowanie do zaliczenia10
A-W-3Udział w konsultacjach i zaliczeniu2
27

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 podsumowują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_O/1/4_W01
ma wiedzę w zakresie tworzenia algorytmów równoległych
I_1A_W05C-1T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7M-1S-2
I_1A_O/1/4_W02
zna API OpenMP do tworzenia aplikacji równoległych
I_1A_W06C-1T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7M-1S-2
I_1A_O/1/4_W03
zna podstawowe metody gromadzenia i przetwarzania danych i informacji w oparciu o komputery równoległe
I_1A_W17C-1T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-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łceniaOdniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_O/1/4_U01
potrafi w zakresie podstawowym projektować, implementować i testować oprogramowanie równoległe
I_1A_U01C-1T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-L-3, T-L-1, T-L-2, T-L-4, T-L-5, T-L-6M-2S-1
I_1A_O/1/4_U02
Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych dotyczących wytwarzania oprogramowania równoległego
I_1A_U02C-1T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-L-3, T-L-1, T-L-2, T-L-4, T-L-5, T-L-6M-2S-1
I_1A_O/1/4_U03
potrafi posługiwać się dokumentacją techniczną do API OpenMP
I_1A_U05C-1T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-L-3, T-L-1, T-L-2, T-L-4, T-L-5, T-L-6M-2S-1
I_1A_O/1/4_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_U19C-1T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-L-3, T-L-1, T-L-2, T-L-4, T-L-5, T-L-6M-2S-1
I_1A_O/1/4_U05
umie oceniać przydatność i stosować API OpenMP do rozwiązywania problemów dziedzinowych
I_1A_U03C-1T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-L-3, T-L-1, T-L-2, 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_O/1/4_K01
świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą w zakresie programowania współbieżnego
I_1A_K01C-2T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-L-3, T-L-1, T-L-2, T-L-4, T-L-5, T-L-6M-2S-1
I_1A_O/1/4_K02
ma świadomość odpowiedzialności za wspólnie realizowane zadania dotyczące tworzenia oprogramowania współbieżnego
I_1A_K03C-2T-W-1, T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-L-3, T-L-1, T-L-2, T-L-4, T-L-5, T-L-6M-2S-1

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_1A_O/1/4_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 i wie jak zostasowąc je do zrównoleglenia algorytmów sekwencyjnych
5,0zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i wie jak zostasowąc je do zrównoleglenia algorytmów sekwencyjnych oraz potrafi udowodnić i uzasadnić swoją wypowiedż
I_1A_O/1/4_W02
zna API OpenMP do tworzenia aplikacji równoległych
2,0nie zna API i bibliotek do tworzenia aplikacji równoległych
3,0ma wiedze o API i bibliotekach do tworzenia aplikacji równoległych
3,5ma wiedzę o API i bibliotekach do tworzenia aplikacji równoległych i wie jak zostasować ją do tworzenia prostych aplikacji
4,0ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych 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 wie jak zostasować je do tworzenia zaawansowanych aplikacji
5,0ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych i wie zostasować je do tworzenia zaawansowanych aplikacji oraz potrafi udowodnić i uzasadnić odpowiedź
I_1A_O/1/4_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
3,0zna podstawowe algorytmy projektowania algorytmów równoległych, ma wiedze o API i bibliotekach do tworzenia aplikacji równoległych
3,5zna podstawowe algorytmy projektowania algorytmów równoległych i potrafi zostasowąc je do zrównoleglenia prostych algorytmów sekwencyjnych, ma wiedzę o API i bibliotekach do tworzenia aplikacji równoległych 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 sekwencyjnych, ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych 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 sekwencyjnych, ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych 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 sekwencyjnych, ma szczegółową wiedzę o API i bibliotekach do tworzenia zaawansowanych aplikacji równoległych i potrafi zostasować ją do tworzenia aplikacji oraz potrafi udowodnić i uzasadnić odpowiedź

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_1A_O/1/4_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_O/1/4_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 zaprponowanych 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_O/1/4_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_O/1/4_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
I_1A_O/1/4_U05
umie oceniać przydatność i stosować API OpenMP do rozwiązywania problemów dziedzinowych
2,0nie spełnia kryteriów określonych dla oceny 3
3,0zna podstawowe zastosowania pakietu OpenMP
3,5wymagania na ocenę 3,0 - dodatkowo: - potrafi określić dzienię zastosowania OpenMP
4,0wymagania na ocenę 3,5 - dodatkowo: - potrafi praktycznie zastosować OpenMP
4,5wymagania na ocenę 4,0 - dodatkowo: - potrafi wskazać plusy i minusy OpenMP w zależności od dziedziny problemu
5,0wymagania na ocenę 4,5 - dodatkowo: - portafi poprawnie przewidzieć opłacalnosc zastosowania OpenMP dla określonego algorytmu przed jego implementacją

Kryterium oceny - inne kompetencje społeczne i personalne

Efekt kształceniaOcenaKryterium oceny
I_1A_O/1/4_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 oprogramowania równoległego
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_O/1/4_K02
ma świadomość odpowiedzialności za wspólnie realizowane zadania dotyczące tworzenia oprogramowania współbieżnego
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, 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.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 - praca w zespole2
T-L-7zaliczenie laboratoriów1
15

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Architektura komputerów równoległych 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’a2
T-W-3Pojęcie zależności, rodzaje zależności. Podstawowe transformacje pętli (FAN, PAR, PIPE)3
T-W-4Pojęcie wątku. Standard OpenMP: model, podstawowe konstrukcje aplikacji równoległych( region równoległy, konstrukcje tworzenia wątków, zarządzanie liczbą wątków)2
T-W-5Standard OpenMP: synchronizacja barierowa, sekcja krytyczna, konstrukcje podziału pracy między wątki.2
T-W-6Standard OpenMP: Zrównoleglenie pętli, szeregowanie iteracji pętli do wątków2
T-W-7Podstawowe czynniki mające wpływ na wydajność aplikacji równoległych , sposoby pozwalające na tworzenie wydajnych aplikacji. Metodologia PCAM do tworzenia algorytmów równoległych, Modele wydajnościowe do aplikacji rónoległych.3
15

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1udział w laboratoriach15
A-L-2przygotowanie do laboratoriów15
A-L-3konsultacje do laboratorium2
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ładach15
A-W-2Przygotowanie do zaliczenia10
A-W-3Udział w konsultacjach i zaliczeniu2
27
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O/1/4_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
Cel przedmiotuC-1Ukształtowanie wiedzy i umiejętności niezbędnych do opracowania aplikacji równoległych w standardzie OpenMP
Treści programoweT-W-1Architektura komputerów równoległych 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 zależności, rodzaje zależności. Podstawowe transformacje pętli (FAN, PAR, PIPE)
T-W-4Pojęcie wątku. Standard OpenMP: model, podstawowe konstrukcje aplikacji równoległych( region równoległy, konstrukcje tworzenia wątków, zarządzanie liczbą wątków)
T-W-5Standard OpenMP: synchronizacja barierowa, sekcja krytyczna, konstrukcje podziału pracy między wątki.
T-W-6Standard OpenMP: Zrównoleglenie pętli, szeregowanie iteracji pętli do wątków
T-W-7Podstawowe czynniki mające wpływ na wydajność aplikacji równoległych , sposoby pozwalające na tworzenie wydajnych aplikacji. Metodologia PCAM do tworzenia algorytmów równoległych, Modele wydajnościowe do aplikacji rónoległych.
Metody nauczaniaM-1Wykad informacyjny/konwersatoryjny
Sposób ocenyS-2Ocena podsumowują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 i wie jak zostasowąc je do zrównoleglenia algorytmów sekwencyjnych
5,0zna szczegółowo podstawowe algorytmy projektowania algorytmów równoległych i wie jak zostasowąc je do zrównoleglenia algorytmów sekwencyjnych oraz potrafi udowodnić i uzasadnić swoją wypowiedż
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O/1/4_W02zna API OpenMP do tworzenia aplikacji równoległych
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
Cel przedmiotuC-1Ukształtowanie wiedzy i umiejętności niezbędnych do opracowania aplikacji równoległych w standardzie OpenMP
Treści programoweT-W-1Architektura komputerów równoległych 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 zależności, rodzaje zależności. Podstawowe transformacje pętli (FAN, PAR, PIPE)
T-W-4Pojęcie wątku. Standard OpenMP: model, podstawowe konstrukcje aplikacji równoległych( region równoległy, konstrukcje tworzenia wątków, zarządzanie liczbą wątków)
T-W-5Standard OpenMP: synchronizacja barierowa, sekcja krytyczna, konstrukcje podziału pracy między wątki.
T-W-6Standard OpenMP: Zrównoleglenie pętli, szeregowanie iteracji pętli do wątków
T-W-7Podstawowe czynniki mające wpływ na wydajność aplikacji równoległych , sposoby pozwalające na tworzenie wydajnych aplikacji. Metodologia PCAM do tworzenia algorytmów równoległych, Modele wydajnościowe do aplikacji rónoległych.
Metody nauczaniaM-1Wykad informacyjny/konwersatoryjny
Sposób ocenyS-2Ocena podsumowują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
3,0ma wiedze o API i bibliotekach do tworzenia aplikacji równoległych
3,5ma wiedzę o API i bibliotekach do tworzenia aplikacji równoległych i wie jak zostasować ją do tworzenia prostych aplikacji
4,0ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych 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 wie jak zostasować je do tworzenia zaawansowanych aplikacji
5,0ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych i wie zostasować je do tworzenia zaawansowanych aplikacji oraz potrafi udowodnić i uzasadnić odpowiedź
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O/1/4_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
Cel przedmiotuC-1Ukształtowanie wiedzy i umiejętności niezbędnych do opracowania aplikacji równoległych w standardzie OpenMP
Treści programoweT-W-1Architektura komputerów równoległych 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 zależności, rodzaje zależności. Podstawowe transformacje pętli (FAN, PAR, PIPE)
T-W-4Pojęcie wątku. Standard OpenMP: model, podstawowe konstrukcje aplikacji równoległych( region równoległy, konstrukcje tworzenia wątków, zarządzanie liczbą wątków)
T-W-5Standard OpenMP: synchronizacja barierowa, sekcja krytyczna, konstrukcje podziału pracy między wątki.
T-W-6Standard OpenMP: Zrównoleglenie pętli, szeregowanie iteracji pętli do wątków
T-W-7Podstawowe czynniki mające wpływ na wydajność aplikacji równoległych , sposoby pozwalające na tworzenie wydajnych aplikacji. Metodologia PCAM do tworzenia algorytmów równoległych, Modele wydajnościowe do aplikacji rónoległych.
Metody nauczaniaM-1Wykad informacyjny/konwersatoryjny
Sposób ocenyS-2Ocena podsumowują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
3,0zna podstawowe algorytmy projektowania algorytmów równoległych, ma wiedze o API i bibliotekach do tworzenia aplikacji równoległych
3,5zna podstawowe algorytmy projektowania algorytmów równoległych i potrafi zostasowąc je do zrównoleglenia prostych algorytmów sekwencyjnych, ma wiedzę o API i bibliotekach do tworzenia aplikacji równoległych 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 sekwencyjnych, ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych 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 sekwencyjnych, ma szczegółową wiedzę o API i bibliotekach do tworzenia aplikacji równoległych 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 sekwencyjnych, ma szczegółową wiedzę o API i bibliotekach do tworzenia zaawansowanych aplikacji równoległych i potrafi zostasować ją do tworzenia aplikacji oraz potrafi udowodnić i uzasadnić odpowiedź
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O/1/4_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
Cel przedmiotuC-1Ukształtowanie wiedzy i umiejętności niezbędnych do opracowania aplikacji równoległych w standardzie OpenMP
Treści programoweT-W-1Architektura komputerów równoległych 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 zależności, rodzaje zależności. Podstawowe transformacje pętli (FAN, PAR, PIPE)
T-W-4Pojęcie wątku. Standard OpenMP: model, podstawowe konstrukcje aplikacji równoległych( region równoległy, konstrukcje tworzenia wątków, zarządzanie liczbą wątków)
T-W-5Standard OpenMP: synchronizacja barierowa, sekcja krytyczna, konstrukcje podziału pracy między wątki.
T-W-6Standard OpenMP: Zrównoleglenie pętli, szeregowanie iteracji pętli do wątków
T-W-7Podstawowe czynniki mające wpływ na wydajność aplikacji równoległych , sposoby pozwalające na tworzenie wydajnych aplikacji. Metodologia PCAM do tworzenia algorytmów równoległych, Modele wydajnościowe do aplikacji rónoległych.
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-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-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 - praca w zespole
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_O/1/4_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
Cel przedmiotuC-1Ukształtowanie wiedzy i umiejętności niezbędnych do opracowania aplikacji równoległych w standardzie OpenMP
Treści programoweT-W-1Architektura komputerów równoległych 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 zależności, rodzaje zależności. Podstawowe transformacje pętli (FAN, PAR, PIPE)
T-W-4Pojęcie wątku. Standard OpenMP: model, podstawowe konstrukcje aplikacji równoległych( region równoległy, konstrukcje tworzenia wątków, zarządzanie liczbą wątków)
T-W-5Standard OpenMP: synchronizacja barierowa, sekcja krytyczna, konstrukcje podziału pracy między wątki.
T-W-6Standard OpenMP: Zrównoleglenie pętli, szeregowanie iteracji pętli do wątków
T-W-7Podstawowe czynniki mające wpływ na wydajność aplikacji równoległych , sposoby pozwalające na tworzenie wydajnych aplikacji. Metodologia PCAM do tworzenia algorytmów równoległych, Modele wydajnościowe do aplikacji rónoległych.
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-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-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 - praca w zespole
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 zaprponowanych 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_O/1/4_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ą
Cel przedmiotuC-1Ukształtowanie wiedzy i umiejętności niezbędnych do opracowania aplikacji równoległych w standardzie OpenMP
Treści programoweT-W-1Architektura komputerów równoległych 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 zależności, rodzaje zależności. Podstawowe transformacje pętli (FAN, PAR, PIPE)
T-W-4Pojęcie wątku. Standard OpenMP: model, podstawowe konstrukcje aplikacji równoległych( region równoległy, konstrukcje tworzenia wątków, zarządzanie liczbą wątków)
T-W-5Standard OpenMP: synchronizacja barierowa, sekcja krytyczna, konstrukcje podziału pracy między wątki.
T-W-6Standard OpenMP: Zrównoleglenie pętli, szeregowanie iteracji pętli do wątków
T-W-7Podstawowe czynniki mające wpływ na wydajność aplikacji równoległych , sposoby pozwalające na tworzenie wydajnych aplikacji. Metodologia PCAM do tworzenia algorytmów równoległych, Modele wydajnościowe do aplikacji rónoległych.
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-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-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 - praca w zespole
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_O/1/4_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
Cel przedmiotuC-1Ukształtowanie wiedzy i umiejętności niezbędnych do opracowania aplikacji równoległych w standardzie OpenMP
Treści programoweT-W-1Architektura komputerów równoległych 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 zależności, rodzaje zależności. Podstawowe transformacje pętli (FAN, PAR, PIPE)
T-W-4Pojęcie wątku. Standard OpenMP: model, podstawowe konstrukcje aplikacji równoległych( region równoległy, konstrukcje tworzenia wątków, zarządzanie liczbą wątków)
T-W-5Standard OpenMP: synchronizacja barierowa, sekcja krytyczna, konstrukcje podziału pracy między wątki.
T-W-6Standard OpenMP: Zrównoleglenie pętli, szeregowanie iteracji pętli do wątków
T-W-7Podstawowe czynniki mające wpływ na wydajność aplikacji równoległych , sposoby pozwalające na tworzenie wydajnych aplikacji. Metodologia PCAM do tworzenia algorytmów równoległych, Modele wydajnościowe do aplikacji rónoległych.
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-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-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 - praca w zespole
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_O/1/4_U05umie oceniać przydatność i stosować API OpenMP do rozwiązywania problemów dziedzinowych
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U03umie oceniać przydatność i stosować różne paradygmaty programowania, języki i środowiska programistyczne do rozwiązywania problemów dziedzinowych
Cel przedmiotuC-1Ukształtowanie wiedzy i umiejętności niezbędnych do opracowania aplikacji równoległych w standardzie OpenMP
Treści programoweT-W-1Architektura komputerów równoległych 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 zależności, rodzaje zależności. Podstawowe transformacje pętli (FAN, PAR, PIPE)
T-W-4Pojęcie wątku. Standard OpenMP: model, podstawowe konstrukcje aplikacji równoległych( region równoległy, konstrukcje tworzenia wątków, zarządzanie liczbą wątków)
T-W-5Standard OpenMP: synchronizacja barierowa, sekcja krytyczna, konstrukcje podziału pracy między wątki.
T-W-6Standard OpenMP: Zrównoleglenie pętli, szeregowanie iteracji pętli do wątków
T-W-7Podstawowe czynniki mające wpływ na wydajność aplikacji równoległych , sposoby pozwalające na tworzenie wydajnych aplikacji. Metodologia PCAM do tworzenia algorytmów równoległych, Modele wydajnościowe do aplikacji rónoległych.
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-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-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 - praca w zespole
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 zastosowania pakietu OpenMP
3,5wymagania na ocenę 3,0 - dodatkowo: - potrafi określić dzienię zastosowania OpenMP
4,0wymagania na ocenę 3,5 - dodatkowo: - potrafi praktycznie zastosować OpenMP
4,5wymagania na ocenę 4,0 - dodatkowo: - potrafi wskazać plusy i minusy OpenMP w zależności od dziedziny problemu
5,0wymagania na ocenę 4,5 - dodatkowo: - portafi poprawnie przewidzieć opłacalnosc zastosowania OpenMP dla określonego algorytmu przed jego implementacją
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_1A_O/1/4_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ą
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 równoległych 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 zależności, rodzaje zależności. Podstawowe transformacje pętli (FAN, PAR, PIPE)
T-W-4Pojęcie wątku. Standard OpenMP: model, podstawowe konstrukcje aplikacji równoległych( region równoległy, konstrukcje tworzenia wątków, zarządzanie liczbą wątków)
T-W-5Standard OpenMP: synchronizacja barierowa, sekcja krytyczna, konstrukcje podziału pracy między wątki.
T-W-6Standard OpenMP: Zrównoleglenie pętli, szeregowanie iteracji pętli do wątków
T-W-7Podstawowe czynniki mające wpływ na wydajność aplikacji równoległych , sposoby pozwalające na tworzenie wydajnych aplikacji. Metodologia PCAM do tworzenia algorytmów równoległych, Modele wydajnościowe do aplikacji rónoległych.
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-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-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 - praca w zespole
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 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_O/1/4_K02ma świadomość odpowiedzialności za wspólnie realizowane zadania dotyczące tworzenia oprogramowania współbieżnego
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_K03ma świadomość odpowiedzialności za wspólnie realizowane zadania
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 równoległych 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 zależności, rodzaje zależności. Podstawowe transformacje pętli (FAN, PAR, PIPE)
T-W-4Pojęcie wątku. Standard OpenMP: model, podstawowe konstrukcje aplikacji równoległych( region równoległy, konstrukcje tworzenia wątków, zarządzanie liczbą wątków)
T-W-5Standard OpenMP: synchronizacja barierowa, sekcja krytyczna, konstrukcje podziału pracy między wątki.
T-W-6Standard OpenMP: Zrównoleglenie pętli, szeregowanie iteracji pętli do wątków
T-W-7Podstawowe czynniki mające wpływ na wydajność aplikacji równoległych , sposoby pozwalające na tworzenie wydajnych aplikacji. Metodologia PCAM do tworzenia algorytmów równoległych, Modele wydajnościowe do aplikacji rónoległych.
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-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-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 - praca w zespole
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