Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (N2)
specjalność: grafika komputerowa i systemy multimedialne

Sylabus przedmiotu Kompilatory optymalizujące:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia niestacjonarne Poziom drugiego stopnia
Tytuł zawodowy absolwenta magister
Obszary studiów nauki techniczne
Profil ogólnoakademicki
Moduł
Przedmiot Kompilatory optymalizujące
Specjalność inżynieria oprogramowania
Jednostka prowadząca Katedra Inżynierii Oprogramowania
Nauczyciel odpowiedzialny Piotr Błaszyński <Piotr.Blaszynski@zut.edu.pl>
Inni nauczyciele Piotr Błaszyński <Piotr.Blaszynski@zut.edu.pl>
ECTS (planowane) 3,0 ECTS (formy) 3,0
Forma zaliczenia egzamin Język polski
Blok obieralny Grupa obieralna

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
projektyP2 8 1,00,44zaliczenie
wykładyW2 8 2,00,56egzamin

Wymagania wstępne

KODWymaganie wstępne
W-1Zaliczone przedmioty: Programowanie w językach C, C++, Programowanie równoległe i rozproszone, metody kompilacji, Analiza matematyczna, Algebra liniowa, Architektura komputerów

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Przyswojenie wiedzy i umiejętności niezbędnych do automatycznego zrównoleglania aplikacji równoległych
C-2Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie wytwarzania oprogramowania

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
projekty
T-P-1Zrealizowanie projektu dotyczącego automatycznego zownoleglenia programu sekwencyjnego w oparciu o narzebdzie PLUTO oraz narzedzie katedry KIO15
15
wykłady
T-W-1Pojęcie kompilatora optymalizującego. Rodzaje optymalizacji. Pojecie zależności oraz sposoby ich reprezentowania. Metody optymalizacji: transformacje liniowe i afiniczne.1
T-W-2Zwiększenie lokalności programu na przykładzie mnożenia macierzy, przestrzeń iteracji, zapis matematyczny, wielościan wypukły.1
T-W-3kolejność wykonywania iteracji, pojęcie projekcji, rozwiązywanie układów nierówności w liczbach całkowitych, algorytm Fouriera_Motzkina, znalezienie granic pętli przetransformowanej1
T-W-4Ponowne użycie danych, rodzaje ponownego użycia danych, przestrzeń zerowa macierzy,warunki ponownego użycia danych1
T-W-5równoległość pozbawiona synchronizacji, ograniczenia podziału przestrzeni zawierającej obliczenia bez synchronizacji, algorytm znajdowania równoległości pozbawionej synchroni\zacji2
T-W-6transformacje afiniczne, podstawowe transformacje afinicane, równoległość drobno-ziarnista, algorytmy znajdowania równoległości drobno-ziarnistej2
T-W-7przetwarzanie potokowe, transformacje afiniczne pozwalające na przetwarzanie potokowe, algorytm znajdowania transformacji afinicznych pozwalających na przetwarzanie potokowe1
T-W-8algorytmy zwiekszenia lokalności aplikacji sekwencyjnych i rónoległych1
10

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

KODForma aktywnościGodziny
projekty
A-P-1udział w realizacji projektu15
A-P-2przygotowanie do realizacj projektu13
28
wykłady
A-W-1Udział w wykładach15
A-W-2Przygotowanie do egzaminu39
54

Metody nauczania / narzędzia dydaktyczne

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

Sposoby oceny

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

Zamierzone efekty kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D14/2_W01
ma wiedzę w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych
I_2A_W01, I_2A_W04, I_2A_W06, I_2A_W09C-1T-W-4, T-W-2, T-W-5, T-W-8, T-W-6, T-W-1, T-W-3, T-W-7, T-P-1M-1S-2
I_2A_D14/2_W02
Ma rozszerzoną wiedzę dotyczącą trendów rozwoju metod automatycznego zrównoleglania aplikacji sekwencyjnych
I_2A_W10C-1T-W-4, T-W-2, T-W-5, T-W-8, T-W-6, T-W-1, T-W-3, T-W-7, T-P-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łceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D14/2_U01
potrafi rozwiązywać złożone problemy w oparciu o automatyczne tworzenie aplikacji równoległych i rozproszonych
I_2A_U04, I_2A_U08, I_2A_U12C-1T-W-4, T-W-2, T-W-5, T-W-8, T-W-6, T-W-1, T-W-3, T-W-7, T-P-1M-2S-1
I_2A_D14/2_U02
Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych dotyczących wytwarzania oprogramowania równoległego
I_2A_U03, I_2A_U15, I_2A_U16C-1T-W-4, T-W-2, T-W-5, T-W-8, T-W-6, T-W-1, T-W-3, T-W-7, T-P-1M-2S-1
I_2A_D14/2_U03
potrafi posługiwać się literaturą i dokumentacją techniczną do tworzenia aplikacji równoległych i rozproszonych
I_2A_U02C-1T-W-4, T-W-2, T-W-5, T-W-8, T-W-6, T-W-1, T-W-3, T-W-7, T-P-1M-2S-1

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

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_2A_D14/2_K01
świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą w zakresie programowania równoległego i rozproszonego
I_2A_K01, I_2A_K02C-2, C-1T-W-4, T-W-2, T-W-5, T-W-8, T-W-6, T-W-1, T-W-3, T-W-7, T-P-1M-2S-1

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/2_W01
ma wiedzę w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych
2,0brak wiedzy w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych
3,0ma podstawowa wiedze w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych opartych na transformacjach afinicznych
3,5ma podstawowa wiedze w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych opartych na transformacjach afinicznych oraz wie jak zastosowac wiedze do zrównoleglenia prostych petli programowych
4,0ma szczegółowa wiedze w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych opartych na transformacjach afinicznych oraz wie jak zastosowac wiedze do zrównoleglenia prostych petli programowych
4,5ma szczegółowa wiedze w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych opartych na transformacjach afinicznych oraz wie jak zastosowac wiedze do zrównoleglenia złozonych petli programowych
5,0ma szczegółowa wiedze w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych opartych na transformacjach afinicznych oraz wie jak zastosowac wiedze do zrównoleglenia złozonych petli programowych oraz potrafi udowodnic swoje odpowiedzi
I_2A_D14/2_W02
Ma rozszerzoną wiedzę dotyczącą trendów rozwoju metod automatycznego zrównoleglania aplikacji sekwencyjnych
2,0brak wiedzy dotyczącej trendów rozwoju metod automatycznego zrównoleglenia aplikacji sekwencyjnych
3,0ma podstawowa wiedzę dotyczącą trendów rozwoju metod automatycznego zrównoleglenia aplikacji sekwencyjnych
3,5ma podstawowa wiedzę dotyczącą trendów rozwoju metod automatycznego zrównoleglenia aplikacji sekwencyjnych oraz wie jak zastosowac wiedze do zrównoleglenia prostych petli programowych
4,0ma szczegółową wiedzę dotyczącą trendów rozwoju metod automatycznego zrównoleglenia aplikacji sekwencyjnych oraz wie jak zastosowac wiedze do zrównoleglenia prostych petli programowych
4,5ma szczegółową wiedzę dotyczącą trendów rozwoju metod automatycznego zrównoleglenia aplikacji sekwencyjnych oraz wie jak zastosowac wiedze do zrównoleglenia złozonych petli
5,0ma szczegółową wiedzę dotyczącą trendów rozwoju metod automatycznego zrównoleglenia aplikacji sekwencyjnych oraz wie jak zastosowac wiedze do zrównoleglenia złozonych petli programowych oraz potrafi udowodnic swoje odpowiedzi

Kryterium oceny - umiejętności

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/2_U01
potrafi rozwiązywać złożone problemy w oparciu o automatyczne tworzenie aplikacji równoległych i rozproszonych
2,0nie potrafi zastososować podstawowych metod automatycznego tworzenie aplikacji równoległych i rozproszonych
3,0potrafi rozwiązywać podstawowe problemy w oparciu o zastosowanie narzędzi do automatycznego tworzenia aplikacji równoległych i rozproszonych
3,5potrafi rozwiązywać złożone problemy w oparciu o zastosowanie narzędzi do automatycznego tworzenia aplikacji równoległych i rozproszonych
4,0potrafi rozwiązywać złożone problemy w oparciu o zastosowanie narzędzi do automatycznego tworzenia aplikacji równoległych i rozproszonych i analizę porównawczą wyników
4,5potrafi rozwiązywać złożone problemy w oparciu o zastosowanie własnych rozwiązań i narzędzi do automatycznego tworzenia aplikacji równoległych i rozproszonych i analizę porównawczą wyników
5,0potrafi rozwiązywać złożone problemy w oparciu o zastosowanie własnych rozwiązań i alternatywnych narzędzi do automatycznego tworzenia aplikacji równoległych i rozproszonych i syntezę rozwiązań z wielu źródeł
I_2A_D14/2_U02
Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych dotyczących wytwarzania oprogramowania równoległego
2,0nie rozumie podstawowych zagadnień i nie jest w stanie uczestniczyć w zespołowych pracach projektowych
3,0rozumie samodzielnie wybrane podstawowe zagadnienia i potrafi uczestniczyć w zespołowych pracach projektowych
3,5rozumie samodzielnie wszystkie podstawowe zagadnienia i potrafi aktywnie uczestniczyć w zespołowych pracach projektowych
4,0rozumie samodzielnie wszystkie podstawowe zagadnienia i potrafi je stosować w trakcie aktywnego uczestnictwa w zespołowych pracach projektowych
4,5rozumie samodzielnie wszystkie zagadnienia i potrafi analizować proponowane rozwiązania i dodawać istotne propozycje w trakcie aktywnego uczestnictwa w zespołowych pracach projektowych
5,0rozumie samodzielnie wszystkie zagadnienia i potrafi ocenić ich przydatność oraz wyjaśnić innym studentom zagadnienia dotyczące budowy narzędzi umożliwiających automatyczne zrównoleglanie
I_2A_D14/2_U03
potrafi posługiwać się literaturą i dokumentacją techniczną do tworzenia aplikacji równoległych i rozproszonych
2,0nie potrafi zastosować dostępnej dokumentacji technicznej i literatury do tworzenia aplikacji równoległych i rozproszonych
3,0potrafi przy pomocy prowadzącego i na podstawie dostępnej dokumentacji zaimplementować proste aplikacje równoległe i rozproszone
3,5potrafi samodzielnie stosować udostępnioną dokumentacje techniczną do implementacji złożonych aplikacji równoległych i rozproszonych
4,0potrafi analizować dostępną dokumentacje techniczną i literaturę jak również poszukiwać skutecznie dodatkowych informacji
4,5potrafi wszystko na ocenę 4,0, proponuje również nowe rozwiązania (np.sposób zapisu konstrukcji języka C++ w sposób zrozumiały dla narzędzia pluto) udokumentowanych rozwiązań
5,0potrafi wszystko na ocenę 4,5, zapoznał się z innymi narzędziami do budowy aplikacji równoległych oraz potrafi porównać stosowane na zajęciach narzędzia (pluto, stepson) z innymi dostępnymi (stepson, omega, samodzielne wykorzystanie isla, llvm)

Kryterium oceny - inne kompetencje społeczne i personalne

Efekt kształceniaOcenaKryterium oceny
I_2A_D14/2_K01
świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą w zakresie programowania równoległego i rozproszonego
2,0nie rozumie potrzeby dokształcania i dzielenia się wiedza w zakresie automatycznego zrównoleglania aplikacji sekwencyjnych
3,0rozumie potrzebę dokształcania i dzielenia się wiedza w zakresie automatycznego zrównoleglania aplikacji sekwencyjnych
3,5jest w stanie zaprezentować w pełni zaimplementowane rozwiązanie
4,0jest w stanie zaprezentować w pełni i przedyskutować z prowadzącym zaimplementowane rozwiązanie
4,5na bazie kompetencji wymaganych na niższe oceny jest w stanie podzielić się wiedzą w usystematyzowany sposób z grupą
5,0na bazie kompetencji wymaganych na niższe oceny jest w stanie przygotować i zaprezentować własne propozycje w zakresie programowania równoległego i rozproszonego

Literatura podstawowa

  1. R. Allen, K. Kennedy, Optimizing compilers, Morgan Kaufmann Publishers, Burlington, 2004
  2. Alfred V. Aho, Monica S. Lam, Ravi Sethi, Compilers: Principles, Techniques, and Tools 2nd Edition, Addison Wesley, 2006
  3. W. Bielecki, M . Pałkowski, Ekstrakcja drobno i gruboziarnistej równoległości w pętlach programowych, ZUT w Szczecinie, Szczecin, 2011

Treści programowe - projekty

KODTreść programowaGodziny
T-P-1Zrealizowanie projektu dotyczącego automatycznego zownoleglenia programu sekwencyjnego w oparciu o narzebdzie PLUTO oraz narzedzie katedry KIO15
15

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Pojęcie kompilatora optymalizującego. Rodzaje optymalizacji. Pojecie zależności oraz sposoby ich reprezentowania. Metody optymalizacji: transformacje liniowe i afiniczne.1
T-W-2Zwiększenie lokalności programu na przykładzie mnożenia macierzy, przestrzeń iteracji, zapis matematyczny, wielościan wypukły.1
T-W-3kolejność wykonywania iteracji, pojęcie projekcji, rozwiązywanie układów nierówności w liczbach całkowitych, algorytm Fouriera_Motzkina, znalezienie granic pętli przetransformowanej1
T-W-4Ponowne użycie danych, rodzaje ponownego użycia danych, przestrzeń zerowa macierzy,warunki ponownego użycia danych1
T-W-5równoległość pozbawiona synchronizacji, ograniczenia podziału przestrzeni zawierającej obliczenia bez synchronizacji, algorytm znajdowania równoległości pozbawionej synchroni\zacji2
T-W-6transformacje afiniczne, podstawowe transformacje afinicane, równoległość drobno-ziarnista, algorytmy znajdowania równoległości drobno-ziarnistej2
T-W-7przetwarzanie potokowe, transformacje afiniczne pozwalające na przetwarzanie potokowe, algorytm znajdowania transformacji afinicznych pozwalających na przetwarzanie potokowe1
T-W-8algorytmy zwiekszenia lokalności aplikacji sekwencyjnych i rónoległych1
10

Formy aktywności - projekty

KODForma aktywnościGodziny
A-P-1udział w realizacji projektu15
A-P-2przygotowanie do realizacj projektu13
28
(*) 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 egzaminu39
54
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/2_W01ma wiedzę w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_W01Ma poszerzoną i pogłębioną wiedzę w zakresie wybranych działów matematyki teoretycznej oraz matematyki stosowanej
I_2A_W04Ma wiedzę z zakresu zaawansowanych technik programowania systemów informatycznych w wybranym obszarze zastosowań
I_2A_W06Posiada wiedzę o narzędziach sprzętowo-programowych wspomagających rozwiązywanie wybranych i złożonych problemów w różnych obszarach nauki i techniki
I_2A_W09Ma uporządkowaną, podbudowaną metodycznie i teoretycznie wiedzę w zakresie metod i technik projektowania systemów informatycznych
Cel przedmiotuC-1Przyswojenie wiedzy i umiejętności niezbędnych do automatycznego zrównoleglania aplikacji równoległych
Treści programoweT-W-4Ponowne użycie danych, rodzaje ponownego użycia danych, przestrzeń zerowa macierzy,warunki ponownego użycia danych
T-W-2Zwiększenie lokalności programu na przykładzie mnożenia macierzy, przestrzeń iteracji, zapis matematyczny, wielościan wypukły.
T-W-5równoległość pozbawiona synchronizacji, ograniczenia podziału przestrzeni zawierającej obliczenia bez synchronizacji, algorytm znajdowania równoległości pozbawionej synchroni\zacji
T-W-8algorytmy zwiekszenia lokalności aplikacji sekwencyjnych i rónoległych
T-W-6transformacje afiniczne, podstawowe transformacje afinicane, równoległość drobno-ziarnista, algorytmy znajdowania równoległości drobno-ziarnistej
T-W-1Pojęcie kompilatora optymalizującego. Rodzaje optymalizacji. Pojecie zależności oraz sposoby ich reprezentowania. Metody optymalizacji: transformacje liniowe i afiniczne.
T-W-3kolejność wykonywania iteracji, pojęcie projekcji, rozwiązywanie układów nierówności w liczbach całkowitych, algorytm Fouriera_Motzkina, znalezienie granic pętli przetransformowanej
T-W-7przetwarzanie potokowe, transformacje afiniczne pozwalające na przetwarzanie potokowe, algorytm znajdowania transformacji afinicznych pozwalających na przetwarzanie potokowe
T-P-1Zrealizowanie projektu dotyczącego automatycznego zownoleglenia programu sekwencyjnego w oparciu o narzebdzie PLUTO oraz narzedzie katedry KIO
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,0brak wiedzy w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych
3,0ma podstawowa wiedze w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych opartych na transformacjach afinicznych
3,5ma podstawowa wiedze w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych opartych na transformacjach afinicznych oraz wie jak zastosowac wiedze do zrównoleglenia prostych petli programowych
4,0ma szczegółowa wiedze w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych opartych na transformacjach afinicznych oraz wie jak zastosowac wiedze do zrównoleglenia prostych petli programowych
4,5ma szczegółowa wiedze w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych opartych na transformacjach afinicznych oraz wie jak zastosowac wiedze do zrównoleglenia złozonych petli programowych
5,0ma szczegółowa wiedze w zakresie metod automatycznego zrównoleglenia aplikacji sekwencyjnych opartych na transformacjach afinicznych oraz wie jak zastosowac wiedze do zrównoleglenia złozonych petli programowych oraz potrafi udowodnic swoje odpowiedzi
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/2_W02Ma rozszerzoną wiedzę dotyczącą trendów rozwoju metod automatycznego zrównoleglania aplikacji sekwencyjnych
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
Cel przedmiotuC-1Przyswojenie wiedzy i umiejętności niezbędnych do automatycznego zrównoleglania aplikacji równoległych
Treści programoweT-W-4Ponowne użycie danych, rodzaje ponownego użycia danych, przestrzeń zerowa macierzy,warunki ponownego użycia danych
T-W-2Zwiększenie lokalności programu na przykładzie mnożenia macierzy, przestrzeń iteracji, zapis matematyczny, wielościan wypukły.
T-W-5równoległość pozbawiona synchronizacji, ograniczenia podziału przestrzeni zawierającej obliczenia bez synchronizacji, algorytm znajdowania równoległości pozbawionej synchroni\zacji
T-W-8algorytmy zwiekszenia lokalności aplikacji sekwencyjnych i rónoległych
T-W-6transformacje afiniczne, podstawowe transformacje afinicane, równoległość drobno-ziarnista, algorytmy znajdowania równoległości drobno-ziarnistej
T-W-1Pojęcie kompilatora optymalizującego. Rodzaje optymalizacji. Pojecie zależności oraz sposoby ich reprezentowania. Metody optymalizacji: transformacje liniowe i afiniczne.
T-W-3kolejność wykonywania iteracji, pojęcie projekcji, rozwiązywanie układów nierówności w liczbach całkowitych, algorytm Fouriera_Motzkina, znalezienie granic pętli przetransformowanej
T-W-7przetwarzanie potokowe, transformacje afiniczne pozwalające na przetwarzanie potokowe, algorytm znajdowania transformacji afinicznych pozwalających na przetwarzanie potokowe
T-P-1Zrealizowanie projektu dotyczącego automatycznego zownoleglenia programu sekwencyjnego w oparciu o narzebdzie PLUTO oraz narzedzie katedry KIO
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,0brak wiedzy dotyczącej trendów rozwoju metod automatycznego zrównoleglenia aplikacji sekwencyjnych
3,0ma podstawowa wiedzę dotyczącą trendów rozwoju metod automatycznego zrównoleglenia aplikacji sekwencyjnych
3,5ma podstawowa wiedzę dotyczącą trendów rozwoju metod automatycznego zrównoleglenia aplikacji sekwencyjnych oraz wie jak zastosowac wiedze do zrównoleglenia prostych petli programowych
4,0ma szczegółową wiedzę dotyczącą trendów rozwoju metod automatycznego zrównoleglenia aplikacji sekwencyjnych oraz wie jak zastosowac wiedze do zrównoleglenia prostych petli programowych
4,5ma szczegółową wiedzę dotyczącą trendów rozwoju metod automatycznego zrównoleglenia aplikacji sekwencyjnych oraz wie jak zastosowac wiedze do zrównoleglenia złozonych petli
5,0ma szczegółową wiedzę dotyczącą trendów rozwoju metod automatycznego zrównoleglenia aplikacji sekwencyjnych oraz wie jak zastosowac wiedze do zrównoleglenia złozonych petli programowych oraz potrafi udowodnic swoje odpowiedzi
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/2_U01potrafi rozwiązywać złożone problemy w oparciu o automatyczne tworzenie aplikacji równoległych i rozproszonych
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U04Potrafi wybrać, krytycznie ocenić przydatność i zastosować metodę i narzędzia rozwiązania złożonego zadania inżynierskiego
I_2A_U08Potrafi wykorzystywać narzędzia sprzętowo-programowe wspomagające rozwiązywanie wybranych problemów w różnych obszarach nauki i techniki
I_2A_U12Ma umiejętność stosowania zaawansowanych technik programowania i metodyki projektowania systemów informatycznych w wybranym obszarze zastosowań
Cel przedmiotuC-1Przyswojenie wiedzy i umiejętności niezbędnych do automatycznego zrównoleglania aplikacji równoległych
Treści programoweT-W-4Ponowne użycie danych, rodzaje ponownego użycia danych, przestrzeń zerowa macierzy,warunki ponownego użycia danych
T-W-2Zwiększenie lokalności programu na przykładzie mnożenia macierzy, przestrzeń iteracji, zapis matematyczny, wielościan wypukły.
T-W-5równoległość pozbawiona synchronizacji, ograniczenia podziału przestrzeni zawierającej obliczenia bez synchronizacji, algorytm znajdowania równoległości pozbawionej synchroni\zacji
T-W-8algorytmy zwiekszenia lokalności aplikacji sekwencyjnych i rónoległych
T-W-6transformacje afiniczne, podstawowe transformacje afinicane, równoległość drobno-ziarnista, algorytmy znajdowania równoległości drobno-ziarnistej
T-W-1Pojęcie kompilatora optymalizującego. Rodzaje optymalizacji. Pojecie zależności oraz sposoby ich reprezentowania. Metody optymalizacji: transformacje liniowe i afiniczne.
T-W-3kolejność wykonywania iteracji, pojęcie projekcji, rozwiązywanie układów nierówności w liczbach całkowitych, algorytm Fouriera_Motzkina, znalezienie granic pętli przetransformowanej
T-W-7przetwarzanie potokowe, transformacje afiniczne pozwalające na przetwarzanie potokowe, algorytm znajdowania transformacji afinicznych pozwalających na przetwarzanie potokowe
T-P-1Zrealizowanie projektu dotyczącego automatycznego zownoleglenia programu sekwencyjnego w oparciu o narzebdzie PLUTO oraz narzedzie katedry KIO
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 zastososować podstawowych metod automatycznego tworzenie aplikacji równoległych i rozproszonych
3,0potrafi rozwiązywać podstawowe problemy w oparciu o zastosowanie narzędzi do automatycznego tworzenia aplikacji równoległych i rozproszonych
3,5potrafi rozwiązywać złożone problemy w oparciu o zastosowanie narzędzi do automatycznego tworzenia aplikacji równoległych i rozproszonych
4,0potrafi rozwiązywać złożone problemy w oparciu o zastosowanie narzędzi do automatycznego tworzenia aplikacji równoległych i rozproszonych i analizę porównawczą wyników
4,5potrafi rozwiązywać złożone problemy w oparciu o zastosowanie własnych rozwiązań i narzędzi do automatycznego tworzenia aplikacji równoległych i rozproszonych i analizę porównawczą wyników
5,0potrafi rozwiązywać złożone problemy w oparciu o zastosowanie własnych rozwiązań i alternatywnych narzędzi do automatycznego tworzenia aplikacji równoległych i rozproszonych i syntezę rozwiązań z wielu źródeł
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/2_U02Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych dotyczących wytwarzania oprogramowania równoległego
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U03Potrafi aktywnie uczestniczyć w pracach projektowych indywidualnych i zespołowych przyjmując w nich różne role
I_2A_U15Ma przygotowanie niezbędne do pracy w środowisku przemysłowym oraz zna zasady bezpieczeństwa związane z tą pracą
I_2A_U16Potrafi określić kierunek dalszego uczenia się i zrealizować proces samokształcenia
Cel przedmiotuC-1Przyswojenie wiedzy i umiejętności niezbędnych do automatycznego zrównoleglania aplikacji równoległych
Treści programoweT-W-4Ponowne użycie danych, rodzaje ponownego użycia danych, przestrzeń zerowa macierzy,warunki ponownego użycia danych
T-W-2Zwiększenie lokalności programu na przykładzie mnożenia macierzy, przestrzeń iteracji, zapis matematyczny, wielościan wypukły.
T-W-5równoległość pozbawiona synchronizacji, ograniczenia podziału przestrzeni zawierającej obliczenia bez synchronizacji, algorytm znajdowania równoległości pozbawionej synchroni\zacji
T-W-8algorytmy zwiekszenia lokalności aplikacji sekwencyjnych i rónoległych
T-W-6transformacje afiniczne, podstawowe transformacje afinicane, równoległość drobno-ziarnista, algorytmy znajdowania równoległości drobno-ziarnistej
T-W-1Pojęcie kompilatora optymalizującego. Rodzaje optymalizacji. Pojecie zależności oraz sposoby ich reprezentowania. Metody optymalizacji: transformacje liniowe i afiniczne.
T-W-3kolejność wykonywania iteracji, pojęcie projekcji, rozwiązywanie układów nierówności w liczbach całkowitych, algorytm Fouriera_Motzkina, znalezienie granic pętli przetransformowanej
T-W-7przetwarzanie potokowe, transformacje afiniczne pozwalające na przetwarzanie potokowe, algorytm znajdowania transformacji afinicznych pozwalających na przetwarzanie potokowe
T-P-1Zrealizowanie projektu dotyczącego automatycznego zownoleglenia programu sekwencyjnego w oparciu o narzebdzie PLUTO oraz narzedzie katedry KIO
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 rozumie podstawowych zagadnień i nie jest w stanie uczestniczyć w zespołowych pracach projektowych
3,0rozumie samodzielnie wybrane podstawowe zagadnienia i potrafi uczestniczyć w zespołowych pracach projektowych
3,5rozumie samodzielnie wszystkie podstawowe zagadnienia i potrafi aktywnie uczestniczyć w zespołowych pracach projektowych
4,0rozumie samodzielnie wszystkie podstawowe zagadnienia i potrafi je stosować w trakcie aktywnego uczestnictwa w zespołowych pracach projektowych
4,5rozumie samodzielnie wszystkie zagadnienia i potrafi analizować proponowane rozwiązania i dodawać istotne propozycje w trakcie aktywnego uczestnictwa w zespołowych pracach projektowych
5,0rozumie samodzielnie wszystkie zagadnienia i potrafi ocenić ich przydatność oraz wyjaśnić innym studentom zagadnienia dotyczące budowy narzędzi umożliwiających automatyczne zrównoleglanie
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/2_U03potrafi posługiwać się literaturą i dokumentacją techniczną do tworzenia aplikacji równoległych i rozproszonych
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_U02Potrafi pozyskiwać informacje z różnych źródeł (literatura, Internet, bazy danych, dokumentacja techniczna), dokonywać ich interpretacji i oceny
Cel przedmiotuC-1Przyswojenie wiedzy i umiejętności niezbędnych do automatycznego zrównoleglania aplikacji równoległych
Treści programoweT-W-4Ponowne użycie danych, rodzaje ponownego użycia danych, przestrzeń zerowa macierzy,warunki ponownego użycia danych
T-W-2Zwiększenie lokalności programu na przykładzie mnożenia macierzy, przestrzeń iteracji, zapis matematyczny, wielościan wypukły.
T-W-5równoległość pozbawiona synchronizacji, ograniczenia podziału przestrzeni zawierającej obliczenia bez synchronizacji, algorytm znajdowania równoległości pozbawionej synchroni\zacji
T-W-8algorytmy zwiekszenia lokalności aplikacji sekwencyjnych i rónoległych
T-W-6transformacje afiniczne, podstawowe transformacje afinicane, równoległość drobno-ziarnista, algorytmy znajdowania równoległości drobno-ziarnistej
T-W-1Pojęcie kompilatora optymalizującego. Rodzaje optymalizacji. Pojecie zależności oraz sposoby ich reprezentowania. Metody optymalizacji: transformacje liniowe i afiniczne.
T-W-3kolejność wykonywania iteracji, pojęcie projekcji, rozwiązywanie układów nierówności w liczbach całkowitych, algorytm Fouriera_Motzkina, znalezienie granic pętli przetransformowanej
T-W-7przetwarzanie potokowe, transformacje afiniczne pozwalające na przetwarzanie potokowe, algorytm znajdowania transformacji afinicznych pozwalających na przetwarzanie potokowe
T-P-1Zrealizowanie projektu dotyczącego automatycznego zownoleglenia programu sekwencyjnego w oparciu o narzebdzie PLUTO oraz narzedzie katedry KIO
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 zastosować dostępnej dokumentacji technicznej i literatury do tworzenia aplikacji równoległych i rozproszonych
3,0potrafi przy pomocy prowadzącego i na podstawie dostępnej dokumentacji zaimplementować proste aplikacje równoległe i rozproszone
3,5potrafi samodzielnie stosować udostępnioną dokumentacje techniczną do implementacji złożonych aplikacji równoległych i rozproszonych
4,0potrafi analizować dostępną dokumentacje techniczną i literaturę jak również poszukiwać skutecznie dodatkowych informacji
4,5potrafi wszystko na ocenę 4,0, proponuje również nowe rozwiązania (np.sposób zapisu konstrukcji języka C++ w sposób zrozumiały dla narzędzia pluto) udokumentowanych rozwiązań
5,0potrafi wszystko na ocenę 4,5, zapoznał się z innymi narzędziami do budowy aplikacji równoległych oraz potrafi porównać stosowane na zajęciach narzędzia (pluto, stepson) z innymi dostępnymi (stepson, omega, samodzielne wykorzystanie isla, llvm)
PoleKODZnaczenie kodu
Zamierzone efekty kształceniaI_2A_D14/2_K01świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą w zakresie programowania równoległego i rozproszonego
Odniesienie do efektów kształcenia dla kierunku studiówI_2A_K01Ma świadomość organizacji własnego czasu pracy i jest zdeterminowany aby osiągnąć założone cele
I_2A_K02Ś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 wytwarzania oprogramowania
C-1Przyswojenie wiedzy i umiejętności niezbędnych do automatycznego zrównoleglania aplikacji równoległych
Treści programoweT-W-4Ponowne użycie danych, rodzaje ponownego użycia danych, przestrzeń zerowa macierzy,warunki ponownego użycia danych
T-W-2Zwiększenie lokalności programu na przykładzie mnożenia macierzy, przestrzeń iteracji, zapis matematyczny, wielościan wypukły.
T-W-5równoległość pozbawiona synchronizacji, ograniczenia podziału przestrzeni zawierającej obliczenia bez synchronizacji, algorytm znajdowania równoległości pozbawionej synchroni\zacji
T-W-8algorytmy zwiekszenia lokalności aplikacji sekwencyjnych i rónoległych
T-W-6transformacje afiniczne, podstawowe transformacje afinicane, równoległość drobno-ziarnista, algorytmy znajdowania równoległości drobno-ziarnistej
T-W-1Pojęcie kompilatora optymalizującego. Rodzaje optymalizacji. Pojecie zależności oraz sposoby ich reprezentowania. Metody optymalizacji: transformacje liniowe i afiniczne.
T-W-3kolejność wykonywania iteracji, pojęcie projekcji, rozwiązywanie układów nierówności w liczbach całkowitych, algorytm Fouriera_Motzkina, znalezienie granic pętli przetransformowanej
T-W-7przetwarzanie potokowe, transformacje afiniczne pozwalające na przetwarzanie potokowe, algorytm znajdowania transformacji afinicznych pozwalających na przetwarzanie potokowe
T-P-1Zrealizowanie projektu dotyczącego automatycznego zownoleglenia programu sekwencyjnego w oparciu o narzebdzie PLUTO oraz narzedzie katedry KIO
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 rozumie potrzeby dokształcania i dzielenia się wiedza w zakresie automatycznego zrównoleglania aplikacji sekwencyjnych
3,0rozumie potrzebę dokształcania i dzielenia się wiedza w zakresie automatycznego zrównoleglania aplikacji sekwencyjnych
3,5jest w stanie zaprezentować w pełni zaimplementowane rozwiązanie
4,0jest w stanie zaprezentować w pełni i przedyskutować z prowadzącym zaimplementowane rozwiązanie
4,5na bazie kompetencji wymaganych na niższe oceny jest w stanie podzielić się wiedzą w usystematyzowany sposób z grupą
5,0na bazie kompetencji wymaganych na niższe oceny jest w stanie przygotować i zaprezentować własne propozycje w zakresie programowania równoległego i rozproszonego