Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria oprogramowania

Sylabus przedmiotu Sprzętowo-programowe systemy multimedialne:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów charakterystyki PRK, kompetencje inżynierskie PRK
Profil ogólnoakademicki
Moduł
Przedmiot Sprzętowo-programowe systemy multimedialne
Specjalność Inżynieria komputerowa
Jednostka prowadząca Katedra Architektury Komputerów i Telekomunikacji
Nauczyciel odpowiedzialny Piotr Dziurzański <Piotr.Dziurzanski@zut.edu.pl>
Inni nauczyciele Tomasz Mąka <Tomasz.Maka@zut.edu.pl>, Magdalena Szaber-Cybularczyk <Magdalena.Szaber@zut.edu.pl>, Mirosław Łazoryszczak <Miroslaw.Lazoryszczak@zut.edu.pl>
ECTS (planowane) 3,0 ECTS (formy) 3,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny 7 Grupa obieralna 2

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL7 30 1,50,50zaliczenie
wykładyW7 30 1,50,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Technika cyfrowa
W-2Architektura systemów komputerowych
W-3Programowanie 2

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Nabycie umiejętności projektowania multimedialnych systemów sprzętowo-programowych

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

KODTreść programowaGodziny
laboratoria
T-L-1Zapoznanie się z budowaniem środowiska dla tworzenia aplikacji w OpenCL C na przykładzie dodawania wektorów.2
T-L-2Mnożenie macierzy w C/C++ i OpenCL C.2
T-L-3Pomiar czasu wykonania programu w heterogenicznym środowisku2
T-L-4Dobór wektorowych typów danych w celu przyspieszenia obliczeń.2
T-L-5Filtracja obrazów z wykorzystaniem OpenCL C.2
T-L-6Synteza obrazów z wykorzystaniem OpenCL C.4
T-L-7Wprowadzenie do Vivado HLS.2
T-L-8Tworzenie systemów sprzętowo-programowych w Vivado HLS.2
T-L-9Wykorzystanie bibliotek Vivado HLS C.2
T-L-10Zastosowanie AMBA AXI w multimedialnych systemach sprzętowo-programowych.4
T-L-11Wykorzystanie OpenCV w Vivado HLS4
T-L-12Zaliczenie laboratorium2
30
wykłady
T-W-1Wprowadzenie do multimedialnych systemów sprzętowo-programowych1
T-W-2Historia rozwoju GPU1
T-W-3Porównanie architektur CPU z GPU1
T-W-4Zastosowanie GPU1
T-W-5Model programowania GPU2
T-W-6CUDA - model programowania2
T-W-7Architektura GPU na przykładzie Nvidia2
T-W-8OpenCL2
T-W-9Tworzenia akceleratorów sprzętowych w Vivado HLS4
T-W-10Biblioteki Vivado HLS C3
T-W-11Standard ARM Advanced Microcontroller Bus Architecture (AMBA)2
T-W-12Wykorzystanie OpenCL w Vivado HLS2
T-W-13Biblioteka OpenCV3
T-W-14Zastosowanie OpenCV w Vivado HLS2
T-W-15Zaliczenie wykładu2
30

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

KODForma aktywnościGodziny
laboratoria
A-L-1Przygotowanie do zajęć6
A-L-2uczestnictwo w zajęciach30
A-L-3Udział w zaliczeniu i konsultacjach2
38
wykłady
A-W-1Przygotowanie do zajęć6
A-W-2Uczestnictwo w zajęciach30
A-W-3Przygotowanie do zaliczenia wykładu2
38

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny
M-2Wykład problemowy
M-3Metoda przypadków
M-4Ćwiczenia laboratoryjne

Sposoby oceny

KODSposób oceny
S-1Ocena podsumowująca: Ocena podsumowująca: Kolokwium
S-2Ocena podsumowująca: Ocena podsumowująca: Obrona napisanych programów

Zamierzone efekty uczenia się - wiedza

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_D01.11.3_W01
Student zna podstawowe techniki tworzenia multimedialnych systemów sprzętowo-programowych
I_1A_W03, I_1A_W10C-1T-W-5, T-W-6, T-W-3, T-W-2, T-W-1, T-W-4, T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-12, T-W-13, T-W-14, T-W-15M-1, M-2, M-3S-1

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_D01.11.3_U01
Student potrafi projektować multimedialne systemy sprzętowo-programowe z wykorzystaniem GPU i FPGA
I_1A_U08, I_1A_U06, I_1A_U10C-1T-L-1, T-L-2, T-L-3, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9, T-L-10, T-L-11, T-L-12, T-L-4M-3, M-4S-2

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
I_1A_D01.11.3_W01
Student zna podstawowe techniki tworzenia multimedialnych systemów sprzętowo-programowych
2,0nie spełnia wymogów na ocenę 3,0.
3,0zna architekturę GPU oraz model programowania CUDA.
3,5jak na ocenę 3,0 oraz zna podstawy OpenCL.
4,0jak na ocenę 3,5 oraz rozumie zasady tworzenia systemów sprzętowo-programowych w Vivado HLS z wykorzystaniem AXI.
4,5jak na ocenę 4,0 oraz zna funkcje Vivado HLS C.
5,0jak na ocenę 4,5 oraz zna podstawy OpenCV.

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
I_1A_D01.11.3_U01
Student potrafi projektować multimedialne systemy sprzętowo-programowe z wykorzystaniem GPU i FPGA
2,0nie spełnia wymogów na ocenę 3,0.
3,0potrafi napisać prosty program z wykorzystaniem model programowania CUDA.
3,5jak na ocenę 3,0 oraz potrafi napisać prosty program z wykorzystaniem OpenCL.
4,0jak na ocenę 3,5 oraz potrafi utworzyć prosty multimedialny system sprzętowo-programowy w Vivado HLS z wykorzystaniem AXI.
4,5jak na ocenę 4,0 oraz potrafi wykorzystywać funkcje Vivado HLS C.
5,0jak na ocenę 4,5 oraz potrafi korzystać z OpenCV w Vivado HLS.

Literatura podstawowa

  1. David R. Kaeli et al., Heterogeneous Computing with OpenCL 2.0, Morgan Kaufmann, 2015
  2. Xilinx Inc., Vivado Design Suite User Guide: High-Level Synthesis, 2014
  3. Adrian Kaehler,‎ Gary Bradski, Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library, O'Reilly Media, 2016

Literatura dodatkowa

  1. Hasitha Muthumala Waidyasooriya,‎ Masanori Hariyama,‎ Kunio Uchiyama, Design of FPGA-Based Computing Systems with OpenCL, Springer, 2017
  2. Matthew Scarpino, OpenCL in Action: How to accelerate graphics and computation, Manning Publication, 2011
  3. Oscar Deniz Suarez et al., OpenCV Essentials, Packt Publishing, 2014

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Zapoznanie się z budowaniem środowiska dla tworzenia aplikacji w OpenCL C na przykładzie dodawania wektorów.2
T-L-2Mnożenie macierzy w C/C++ i OpenCL C.2
T-L-3Pomiar czasu wykonania programu w heterogenicznym środowisku2
T-L-4Dobór wektorowych typów danych w celu przyspieszenia obliczeń.2
T-L-5Filtracja obrazów z wykorzystaniem OpenCL C.2
T-L-6Synteza obrazów z wykorzystaniem OpenCL C.4
T-L-7Wprowadzenie do Vivado HLS.2
T-L-8Tworzenie systemów sprzętowo-programowych w Vivado HLS.2
T-L-9Wykorzystanie bibliotek Vivado HLS C.2
T-L-10Zastosowanie AMBA AXI w multimedialnych systemach sprzętowo-programowych.4
T-L-11Wykorzystanie OpenCV w Vivado HLS4
T-L-12Zaliczenie laboratorium2
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Wprowadzenie do multimedialnych systemów sprzętowo-programowych1
T-W-2Historia rozwoju GPU1
T-W-3Porównanie architektur CPU z GPU1
T-W-4Zastosowanie GPU1
T-W-5Model programowania GPU2
T-W-6CUDA - model programowania2
T-W-7Architektura GPU na przykładzie Nvidia2
T-W-8OpenCL2
T-W-9Tworzenia akceleratorów sprzętowych w Vivado HLS4
T-W-10Biblioteki Vivado HLS C3
T-W-11Standard ARM Advanced Microcontroller Bus Architecture (AMBA)2
T-W-12Wykorzystanie OpenCL w Vivado HLS2
T-W-13Biblioteka OpenCV3
T-W-14Zastosowanie OpenCV w Vivado HLS2
T-W-15Zaliczenie wykładu2
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Przygotowanie do zajęć6
A-L-2uczestnictwo w zajęciach30
A-L-3Udział w zaliczeniu i konsultacjach2
38
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Przygotowanie do zajęć6
A-W-2Uczestnictwo w zajęciach30
A-W-3Przygotowanie do zaliczenia wykładu2
38
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_D01.11.3_W01Student zna podstawowe techniki tworzenia multimedialnych systemów sprzętowo-programowych
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W03Posiada poszerzoną wiedzę w zakresie metod przechowywania, przetwarzania, przesyłania i analizy danych oraz modelowania systemów umożliwiającą rozwiązywanie rzeczywistych problemów obliczeniowych.
I_1A_W10Posiada uporządkowaną i pogłębioną wiedzę z zakresu architektury systemów komputerowych, uwzględniającą współczesne kierunki rozwoju sprzętu komputerowego.
Cel przedmiotuC-1Nabycie umiejętności projektowania multimedialnych systemów sprzętowo-programowych
Treści programoweT-W-5Model programowania GPU
T-W-6CUDA - model programowania
T-W-3Porównanie architektur CPU z GPU
T-W-2Historia rozwoju GPU
T-W-1Wprowadzenie do multimedialnych systemów sprzętowo-programowych
T-W-4Zastosowanie GPU
T-W-7Architektura GPU na przykładzie Nvidia
T-W-8OpenCL
T-W-9Tworzenia akceleratorów sprzętowych w Vivado HLS
T-W-10Biblioteki Vivado HLS C
T-W-11Standard ARM Advanced Microcontroller Bus Architecture (AMBA)
T-W-12Wykorzystanie OpenCL w Vivado HLS
T-W-13Biblioteka OpenCV
T-W-14Zastosowanie OpenCV w Vivado HLS
T-W-15Zaliczenie wykładu
Metody nauczaniaM-1Wykład informacyjny
M-2Wykład problemowy
M-3Metoda przypadków
Sposób ocenyS-1Ocena podsumowująca: Ocena podsumowująca: Kolokwium
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia wymogów na ocenę 3,0.
3,0zna architekturę GPU oraz model programowania CUDA.
3,5jak na ocenę 3,0 oraz zna podstawy OpenCL.
4,0jak na ocenę 3,5 oraz rozumie zasady tworzenia systemów sprzętowo-programowych w Vivado HLS z wykorzystaniem AXI.
4,5jak na ocenę 4,0 oraz zna funkcje Vivado HLS C.
5,0jak na ocenę 4,5 oraz zna podstawy OpenCV.
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_D01.11.3_U01Student potrafi projektować multimedialne systemy sprzętowo-programowe z wykorzystaniem GPU i FPGA
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U08Potrafi dobrać i krytycznie ocenić elementy składowe systemów komputerowych.
I_1A_U06Potrafi rozwiązywać podstawowe problemy algorytmiczne z uwzględnieniem ich złożoności posługując się kluczowymi językami programowania.
I_1A_U10Potrafi projektować i implementować systemy informatyczne posługując się narzędziami wspomagającymi proces wytwarzania oprogramowania na różnych jego etapach.
Cel przedmiotuC-1Nabycie umiejętności projektowania multimedialnych systemów sprzętowo-programowych
Treści programoweT-L-1Zapoznanie się z budowaniem środowiska dla tworzenia aplikacji w OpenCL C na przykładzie dodawania wektorów.
T-L-2Mnożenie macierzy w C/C++ i OpenCL C.
T-L-3Pomiar czasu wykonania programu w heterogenicznym środowisku
T-L-5Filtracja obrazów z wykorzystaniem OpenCL C.
T-L-6Synteza obrazów z wykorzystaniem OpenCL C.
T-L-7Wprowadzenie do Vivado HLS.
T-L-8Tworzenie systemów sprzętowo-programowych w Vivado HLS.
T-L-9Wykorzystanie bibliotek Vivado HLS C.
T-L-10Zastosowanie AMBA AXI w multimedialnych systemach sprzętowo-programowych.
T-L-11Wykorzystanie OpenCV w Vivado HLS
T-L-12Zaliczenie laboratorium
T-L-4Dobór wektorowych typów danych w celu przyspieszenia obliczeń.
Metody nauczaniaM-3Metoda przypadków
M-4Ćwiczenia laboratoryjne
Sposób ocenyS-2Ocena podsumowująca: Ocena podsumowująca: Obrona napisanych programów
Kryteria ocenyOcenaKryterium oceny
2,0nie spełnia wymogów na ocenę 3,0.
3,0potrafi napisać prosty program z wykorzystaniem model programowania CUDA.
3,5jak na ocenę 3,0 oraz potrafi napisać prosty program z wykorzystaniem OpenCL.
4,0jak na ocenę 3,5 oraz potrafi utworzyć prosty multimedialny system sprzętowo-programowy w Vivado HLS z wykorzystaniem AXI.
4,5jak na ocenę 4,0 oraz potrafi wykorzystywać funkcje Vivado HLS C.
5,0jak na ocenę 4,5 oraz potrafi korzystać z OpenCV w Vivado HLS.