Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S2)

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

Informacje podstawowe

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

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW3 30 2,50,50zaliczenie
laboratoriaL3 30 1,50,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"5
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.5
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.5
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.5
T-L-5Napisanie aplikacji w OpenMP do mnożenie macierzy z wykorzystaniem pragm OpenMP, sprawdzenie przyspieszenia i efektywnosci napisanej aplikacji.5
T-L-6Napisanie aplikacji rwnoległej w OpenMP do wybranego algorytmu z dziedziny metod numerycznych.5
30
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 aplikacji2
T-W-12Metodologia PCAM tworzenia algorytmów równoległych4
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 laboratoriach30
A-L-2przygotowanie do laboratoriów8
A-L-3Udzał w konsultacjach i zaliczeniu formy zajęć2
40
wykłady
A-W-1Udział w wykładach30
A-W-2Przygotowanie do zaliczenia35
A-W-3Udzał w konsultacjach i zaliczeniu formy zajęć2
67

Metody nauczania / narzędzia dydaktyczne

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

Sposoby oceny

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

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D16/O3/2-3_W01
ma wiedzę w zakresie tworzenia algorytmów równoległych
I_2A_W04T2A_W04, T2A_W07C-1T-W-2, T-W-5, T-W-10M-1S-2
I_2A_D16/O3/2-3_W02
zna API i biblioteki do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
I_2A_W10T2A_W02, T2A_W05C-2T-W-2, T-W-6, T-W-9M-1S-2
I_2A_D16/O3/2-3_W03
zna podstawowe metody gromadzenia i przetwarzania danych i informacji w oparciu o komputery równoległe
I_2A_W04T2A_W04, T2A_W07C-1T-W-1, T-W-2, T-W-4, T-W-9, T-W-12M-1S-2

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D16/O3/2-3_U01
potrafi wykorzystać narzędzia i poszukiwać wiedzy o nich
I_2A_U02, I_2A_U08T2A_U01, T2A_U03, T2A_U04, T2A_U07, T2A_U09, T2A_U10, T2A_U18C-1T-W-1, T-W-9, T-W-13M-2S-1
I_2A_D16/O3/2-3_U02
potrafi wykorzystać dotychczasową wiedzę i dobrać nowo powstałe narzędzia
I_2A_U04T2A_U12, T2A_U16, T2A_U17, T2A_U18C-2T-W-12, T-L-2, T-L-4M-2S-2

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

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D16/O3/2-3_K01
rozumie korzyśi wynikające z przetwarzania równoległego
I_2A_K03T2A_K02, T2A_K07C-2T-W-6, T-W-9, T-W-13, T-L-2M-2S-1

Kryterium oceny - wiedza

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

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_2A_D16/O3/2-3_U01
potrafi wykorzystać narzędzia i poszukiwać wiedzy o nich
2,0nie potrafi odnaleźć informacji na temat narzędzi oraz pisania programów
3,0zna podstawowe słowa klucz, narzędzia i źródła wiedzy o nich
3,5potrafi odnaleźć informacje o poszczególnych funkcjach w dokumentacji narzędzia
4,0potrafi odnaleźć informacje o poszczególnych funkcjach w dokumentacji narzędzia i zastosować je w własnych projektach
4,5potrafi odnaleźć informacje o poszczególnych funkcjach w dokumentacji narzędzia i zastosować je w własnych projektach oraz zna alternetywne rozwiązania
5,0potrafi odnaleźć informacje o poszczególnych funkcjach w dokumentacji narzędzia i zastosować je w własnych projektach, zna alternetywne rozwiązania i jest zdolny do wyboru najbardziej odpowiedniego
I_2A_D16/O3/2-3_U02
potrafi wykorzystać dotychczasową wiedzę i dobrać nowo powstałe narzędzia
2,0nie zna podstaw programowania i kompilatorów
3,0umie skompilować program w środowisku GCC i zna podstawy openmp i tbb
3,5umie skompilować program w środowisku GCC i zna podstawy openmp i tbb oraz zna podstawowe funkcje języka C z zakresu programowania systemów operacyjnych
4,0ma wiedzę na 3.5 i potrafi wykorzystać tą wiedzę do programowania aplikacji równoległych
4,5ma wiedzę na 4.0 i potrafi wykorzystać tą wiedzę do programowania aplikacji równoległych z wyborem odpowiednich funkcji
5,0wiedza 4.5 oraz umie porównać rezultaty z różnych narzędzi i funkcji

Kryterium oceny - inne kompetencje społeczne i personalne

Efekt kształceniaOcenaKryterium oceny
I_2A_D16/O3/2-3_K01
rozumie korzyśi wynikające z przetwarzania równoległego
2,0nie zna podstawowych różnic między programowaniem sekwencyjnym i równoległym
3,0ma wiedzę na temat podstawowych różnic między programowaniem sekwencyjnym i równoległym
3,5ma wiedzę na temat podstawowych różnic między programowaniem sekwencyjnym i równoległym i potrafi określić problem programowania równoległego
4,0ma wiedzę na temat podstawowych różnic między programowaniem sekwencyjnym i równoległym i potrafi określić problem programowania równoległego oraz dobrać narzędzia do jego rozwiązania
4,5ma wiedzę na temat podstawowych różnic między programowaniem sekwencyjnym i równoległym i potrafi określić problem programowania równoległego oraz dobrać narzędzia do jego rozwiązania a także określić korzyści z maszyn równoległych
5,0ma wiedzę na 4.5 i potrafi określić jakość znajomych mu rozwiązań

Literatura podstawowa

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

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Kompilacaja programu w standardzie OpenMP C/C++. Napisanie, kompilacja i sprawdzenie aplikacji z wykorzystaniem pragmy "parallel"5
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.5
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.5
T-L-4Napisanie aplikacji w OpenMP opartych na zrównolegleniu pętli idealnie zagnieżdzonych na podstawie wyznaczonych zależności.5
T-L-5Napisanie aplikacji w OpenMP do mnożenie macierzy z wykorzystaniem pragm OpenMP, sprawdzenie przyspieszenia i efektywnosci napisanej aplikacji.5
T-L-6Napisanie aplikacji rwnoległej w OpenMP do wybranego algorytmu z dziedziny metod numerycznych.5
30

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 aplikacji2
T-W-12Metodologia PCAM tworzenia algorytmów równoległych4
T-W-13Modele wydajnościowe do aplikacji rónoległych2
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1udział w laboratoriach30
A-L-2przygotowanie do laboratoriów8
A-L-3Udzał w konsultacjach i zaliczeniu formy zajęć2
40
(*) 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 zaliczenia35
A-W-3Udzał w konsultacjach i zaliczeniu formy zajęć2
67
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D16/O3/2-3_W01ma wiedzę w zakresie tworzenia algorytmów równoległych
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W04Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_W04ma podbudowaną teoretycznie szczegółową wiedzę związaną z wybranymi zagadnieniami z zakresu studiowanego kierunku studiów
T2A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu złożonych zadań inżynierskich z zakresu studiowanego kierunku studiów
Cel przedmiotuC-1Uksztatowanie wiedzy i umiejtnoci niezbędnych do opracowania aplikacji równolegych dla komputerów wielerdzeniowych
Treści programoweT-W-2podstawowe mierniki jakości aplikacji równoległych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a
T-W-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-10Biblioteki i narzędzia do tworzenia aplikacji równoległych komputerów wielordzeniowych: FORTRAN, OpenMP Java, POSIX, biblioteki Microsoft, biblioteki Java, Intel TBB
Metody nauczaniaM-1Wykad informacyjny/konwersatoryjny
Sposób ocenyS-2Ocena formująca: Zaliczenie końcowe poprzez sprawdzenie efektów kształcenia: przedstawienie pytań i ocena odpowiedzi
Kryteria ocenyOcenaKryterium oceny
2,0nie potrrafi zdefiniować programu współbieżnego, współbieżności oraz rozróżnić równoległość od współbieżności
3,0rozumie pojęcie współbieżności, potrafi wyjaśnić definicję programu równoległego i odróżnić go od współbieżnego
3,5ma więdze na 3.0 oraz umie zdefiniować trudności w tworzeniu oprogramowania współbieżnego i równoległego oraz algorytmów, potrafi przedstawić podstawowe mechanizmy synchronizacji
4,0ma wiedzę na 3.5 oraz umiejętnie określa trudności w tworzeniu programów współbieżnych z odpowiednim doborem metod synchronizacji
4,5ma wiedzę na 4.0 oraz potrafi zdefiniować zagrożenia w tworzeniu oprogramowania współbieżnego
5,0ma wiedzę na 4.5 i potrafi wyjaśnić trudności w testowaniu oprogramowania współbieżnego
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D16/O3/2-3_W02zna API i biblioteki do tworzenia aplikacji równoległych dla komputerów wielordzeniowych
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W10Ma poszerzoną wiedzę dotyczącą trendów rozwojowych i możliwości zastosowania informatyki w wybranych obszarach nauki i techniki
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_W02ma szczegółową wiedzę w zakresie kierunków studiów powiązanych ze studiowanym kierunkiem studiów
T2A_W05ma wiedzę o trendach rozwojowych i najistotniejszych nowych osiągnięciach z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów i pokrewnych dyscyplin naukowych
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania współbieżnego
Treści programoweT-W-2podstawowe mierniki jakości aplikacji równoległych (lokalność, granulacja, determinizm, przyspieszenie i efektywność), prawa Amdahl’a i Gustaffson’a
T-W-6Zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-9Mechanizm zadań w OpenMP(tasking)
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 potrafi opisać pragmy parallel i for
3,0potrafi w podstawowym zakresie określić pragmę parallel i for
3,5potrafi w podstawowym zakresie określić pragmę parallel, for i sections
4,0potrafi w podstawowym zakresie określić pragmę parallel, for i sections oraz zna pragmy barrier i atomic
4,5ma wiedzę na 4.0 i zna definicje funkcji openmp
5,0ma wiedzę na 4.5 i zna mechanizmy lock w openmp
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D16/O3/2-3_W03zna podstawowe metody gromadzenia i przetwarzania danych i informacji w oparciu o komputery równoległe
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W04Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_W04ma podbudowaną teoretycznie szczegółową wiedzę związaną z wybranymi zagadnieniami z zakresu studiowanego kierunku studiów
T2A_W07zna podstawowe metody, techniki, narzędzia i materiały stosowane przy rozwiązywaniu złożonych zadań inżynierskich z zakresu studiowanego kierunku studiów
Cel przedmiotuC-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-4podstawowe transformacje pętli: FAN, PAR, PIPE
T-W-9Mechanizm zadań w OpenMP(tasking)
T-W-12Metodologia PCAM tworzenia algorytmów równoległych
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 umie wyjaśnić taksonomi Flynna
3,0potrafi wyjaśnić taksonomię Flynna
3,5potrafi wyjaśnić taksonomię Flynna i podać przykładowe architektury
4,0ma wiedzę 3.5 i opisać rozwój architektur równoległych
4,5ma wiedzę 4.0 i potrafi opisać architektury ze względu na dostęp do pamięci
5,0ma wiedzę na 4.5 i umie opisać model PCAM
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D16/O3/2-3_U01potrafi wykorzystać narzędzia i poszukiwać wiedzy o nich
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U02Potrafi pozyskiwać informacje z różnych źródeł (literatura, Internet, bazy danych, dokumentacja techniczna), dokonywać ich interpretacji i oceny
I_2A_U08Potrafi wykorzystywać narzędzia sprzętowo-programowe wspomagające rozwiązywanie wybranych problemów w różnych obszarach nauki i techniki
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_U01potrafi pozyskiwać informacje z literatury, baz danych oraz innych właściwie dobranych źródeł, także w języku angielskim lub innym języku obcym uznawanym za język komunikacji międzynarodowej w zakresie studiowanego kierunku studiów; potrafi integrować uzyskane informacje, dokonywać ich interpretacji i krytycznej oceny, a także wyciągać wnioski oraz formułować i wyczerpująco uzasadniać opinie
T2A_U03potrafi przygotować opracowanie naukowe w języku polskim i krótkie doniesienie naukowe w języku obcym, uznawanym za podstawowy dla dziedzin nauki i dyscyplin naukowych właściwych dla studiowanego kierunku studiów, przedstawiające wyniki własnych badań naukowych
T2A_U04potrafi przygotować i przedstawić w języku polskim i języku obcym prezentację ustną, dotyczącą szczegółowych zagadnień z zakresu studiowanego kierunku studiów
T2A_U07potrafi posługiwać się technikami informacyjno-komunikacyjnymi właściwymi do realizacji zadań typowych dla działalności inżynierskiej
T2A_U09potrafi wykorzystać do formułowania i rozwiązywania zadań inżynierskich i prostych problemów badawczych metody analityczne, symulacyjne i eksperymentalne
T2A_U10potrafi - przy formułowaniu i rozwiązywaniu zadań inżynierskich - integrować wiedzę z zakresu dziedzin nauki i dyscyplin naukowych, właściwych dla studiowanego kierunku studiów oraz zastosować podejście systemowe, uwzględniające także aspekty pozatechniczne
T2A_U18potrafi ocenić przydatność metod i narzędzi służących do rozwiązania zadania inżynierskiego, charakterystycznego dla studiowanego kierunku studiów, w tym dostrzec ograniczenia tych metod i narzędzi; potrafi - stosując także koncepcyjnie nowe metody - rozwiązywać złożone zadania inżynierskie, charakterystyczne dla studiowanego kierunku studiów, w tym zadania nietypowe oraz zadania zawierające komponent badawczy
Cel przedmiotuC-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-9Mechanizm zadań w OpenMP(tasking)
T-W-13Modele wydajnościowe do aplikacji rónoległych
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 odnaleźć informacji na temat narzędzi oraz pisania programów
3,0zna podstawowe słowa klucz, narzędzia i źródła wiedzy o nich
3,5potrafi odnaleźć informacje o poszczególnych funkcjach w dokumentacji narzędzia
4,0potrafi odnaleźć informacje o poszczególnych funkcjach w dokumentacji narzędzia i zastosować je w własnych projektach
4,5potrafi odnaleźć informacje o poszczególnych funkcjach w dokumentacji narzędzia i zastosować je w własnych projektach oraz zna alternetywne rozwiązania
5,0potrafi odnaleźć informacje o poszczególnych funkcjach w dokumentacji narzędzia i zastosować je w własnych projektach, zna alternetywne rozwiązania i jest zdolny do wyboru najbardziej odpowiedniego
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D16/O3/2-3_U02potrafi wykorzystać dotychczasową wiedzę i dobrać nowo powstałe narzędzia
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U04Potrafi wybrać, krytycznie ocenić przydatność i zastosować metodę i narzędzia rozwiązania złożonego zadania inżynierskiego
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_U12potrafi ocenić przydatność i możliwość wykorzystania nowych osiągnięć (technik i technologii) w zakresie studiowanego kierunku studiów
T2A_U16potrafi zaproponować ulepszenia (usprawnienia) istniejących rozwiązań technicznych
T2A_U17potrafi dokonać identyfikacji i sformułować specyfikację złożonych zadań inżynierskich, charakterystycznych dla studiowanego kierunku studiów, w tym zadań nietypowych, uwzględniając ich aspekty pozatechniczne
T2A_U18potrafi ocenić przydatność metod i narzędzi służących do rozwiązania zadania inżynierskiego, charakterystycznego dla studiowanego kierunku studiów, w tym dostrzec ograniczenia tych metod i narzędzi; potrafi - stosując także koncepcyjnie nowe metody - rozwiązywać złożone zadania inżynierskie, charakterystyczne dla studiowanego kierunku studiów, w tym zadania nietypowe oraz zadania zawierające komponent badawczy
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania współbieżnego
Treści programoweT-W-12Metodologia PCAM tworzenia algorytmów równoległych
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.
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-2Ocena formująca: Zaliczenie końcowe poprzez sprawdzenie efektów kształcenia: przedstawienie pytań i ocena odpowiedzi
Kryteria ocenyOcenaKryterium oceny
2,0nie zna podstaw programowania i kompilatorów
3,0umie skompilować program w środowisku GCC i zna podstawy openmp i tbb
3,5umie skompilować program w środowisku GCC i zna podstawy openmp i tbb oraz zna podstawowe funkcje języka C z zakresu programowania systemów operacyjnych
4,0ma wiedzę na 3.5 i potrafi wykorzystać tą wiedzę do programowania aplikacji równoległych
4,5ma wiedzę na 4.0 i potrafi wykorzystać tą wiedzę do programowania aplikacji równoległych z wyborem odpowiednich funkcji
5,0wiedza 4.5 oraz umie porównać rezultaty z różnych narzędzi i funkcji
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D16/O3/2-3_K01rozumie korzyśi wynikające z przetwarzania równoległego
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_K03Rozumie potrzebę przekazywania społeczeństwu informacji o rozwoju i osiągnięciach nauki w zakresie informatyki
Odniesienie do efektów zdefiniowanych dla obszaru kształceniaT2A_K02ma świadomość ważności i zrozumienie pozatechnicznych aspektów i skutków działalności inżynierskiej, w tym jej wpływu na środowisko, i związanej z tym odpowiedzialności za podejmowane decyzje
T2A_K07ma świadomość roli społecznej absolwenta uczelni technicznej, a zwłaszcza rozumie potrzebę formułowania i przekazywania społeczeństwu, w szczególności poprzez środki masowego przekazu, informacji i opinii dotyczących osiągnięć techniki i innych aspektów działalności inżynierskiej; podejmuje starania, aby przekazać takie informacje i opnie w sposób powszechnie zrozumiały, z uzasadnieniem różnych punktów widzenia
Cel przedmiotuC-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie programowania współbieżnego
Treści programoweT-W-6Zrównoleglenie pętli w OpenMP, szeregowanie iteracji pętli do wątków
T-W-9Mechanizm zadań w OpenMP(tasking)
T-W-13Modele wydajnościowe do aplikacji rónoległych
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.
Metody nauczaniaM-2Ćwiczenia laboratoryjne
Sposób ocenyS-1Ocena formująca: Ocena stopnia wykonania zadań praktycznych pod koniec każdych laboratoriów
Kryteria ocenyOcenaKryterium oceny
2,0nie zna podstawowych różnic między programowaniem sekwencyjnym i równoległym
3,0ma wiedzę na temat podstawowych różnic między programowaniem sekwencyjnym i równoległym
3,5ma wiedzę na temat podstawowych różnic między programowaniem sekwencyjnym i równoległym i potrafi określić problem programowania równoległego
4,0ma wiedzę na temat podstawowych różnic między programowaniem sekwencyjnym i równoległym i potrafi określić problem programowania równoległego oraz dobrać narzędzia do jego rozwiązania
4,5ma wiedzę na temat podstawowych różnic między programowaniem sekwencyjnym i równoległym i potrafi określić problem programowania równoległego oraz dobrać narzędzia do jego rozwiązania a także określić korzyści z maszyn równoległych
5,0ma wiedzę na 4.5 i potrafi określić jakość znajomych mu rozwiązań