Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

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

Sylabus przedmiotu Sprzętowo-programowe systemy multimedialne:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia niestacjonarne 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 18 1,50,50zaliczenie
wykładyW7 18 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.2
T-L-7Wprowadzenie do Vivado HLS. Tworzenie systemów sprzętowo-programowych w Vivado HLS. Wykorzystanie bibliotek Vivado HLS C. 22
T-L-8Zastosowanie AMBA AXI w multimedialnych systemach sprzętowo-programowych. Wykorzystanie OpenCV w Vivado HLS.2
T-L-9Zaliczenie laboratorium2
18
wykłady
T-W-1Wprowadzenie do multimedialnych systemów sprzętowo-programowych. Historia rozwoju GPU. Porówanie architektur CPU z GPU. Zastosowania GPU.2
T-W-2Model programowania GPU. CUDA. Architektura GPU na przykładzie Nvidia.2
T-W-3Architektura GPU na przykładzie Nvidia2
T-W-4OpenCL2
T-W-5Tworzenia akceleratorów sprzętowych w Vivado HLS2
T-W-6Biblioteki Vivado HLS C2
T-W-7Standard ARM Advanced Microcontroller Bus Architecture (AMBA)2
T-W-8Biblioteka OpenCV. Zastosowanie w Vivado HLS.2
T-W-9Zaliczenie wykładu2
18

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

KODForma aktywnościGodziny
laboratoria
A-L-1Przygotowanie do zajęć18
A-L-2uczestnictwo w zajęciach18
A-L-3Udział w zaliczeniu i konsultacjach2
38
wykłady
A-W-1Przygotowanie do zajęć18
A-W-2Uczestnictwo w zajęciach18
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-1, T-W-2, T-W-5, T-W-8, T-W-9, T-W-3, T-W-4, T-W-6, T-W-7M-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_U10, I_1A_U06C-1T-L-1, T-L-2, T-L-3, T-L-5, T-L-4, T-L-7, T-L-6, T-L-8, T-L-9M-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.2
T-L-7Wprowadzenie do Vivado HLS. Tworzenie systemów sprzętowo-programowych w Vivado HLS. Wykorzystanie bibliotek Vivado HLS C. 22
T-L-8Zastosowanie AMBA AXI w multimedialnych systemach sprzętowo-programowych. Wykorzystanie OpenCV w Vivado HLS.2
T-L-9Zaliczenie laboratorium2
18

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Wprowadzenie do multimedialnych systemów sprzętowo-programowych. Historia rozwoju GPU. Porówanie architektur CPU z GPU. Zastosowania GPU.2
T-W-2Model programowania GPU. CUDA. Architektura GPU na przykładzie Nvidia.2
T-W-3Architektura GPU na przykładzie Nvidia2
T-W-4OpenCL2
T-W-5Tworzenia akceleratorów sprzętowych w Vivado HLS2
T-W-6Biblioteki Vivado HLS C2
T-W-7Standard ARM Advanced Microcontroller Bus Architecture (AMBA)2
T-W-8Biblioteka OpenCV. Zastosowanie w Vivado HLS.2
T-W-9Zaliczenie wykładu2
18

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Przygotowanie do zajęć18
A-L-2uczestnictwo w zajęciach18
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ęć18
A-W-2Uczestnictwo w zajęciach18
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-1Wprowadzenie do multimedialnych systemów sprzętowo-programowych. Historia rozwoju GPU. Porówanie architektur CPU z GPU. Zastosowania GPU.
T-W-2Model programowania GPU. CUDA. Architektura GPU na przykładzie Nvidia.
T-W-5Tworzenia akceleratorów sprzętowych w Vivado HLS
T-W-8Biblioteka OpenCV. Zastosowanie w Vivado HLS.
T-W-9Zaliczenie wykładu
T-W-3Architektura GPU na przykładzie Nvidia
T-W-4OpenCL
T-W-6Biblioteki Vivado HLS C
T-W-7Standard ARM Advanced Microcontroller Bus Architecture (AMBA)
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_U10Potrafi projektować i implementować systemy informatyczne posługując się narzędziami wspomagającymi proces wytwarzania oprogramowania na różnych jego etapach.
I_1A_U06Potrafi rozwiązywać podstawowe problemy algorytmiczne z uwzględnieniem ich złożoności posługując się kluczowymi językami programowania.
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-4Dobór wektorowych typów danych w celu przyspieszenia obliczeń.
T-L-7Wprowadzenie do Vivado HLS. Tworzenie systemów sprzętowo-programowych w Vivado HLS. Wykorzystanie bibliotek Vivado HLS C. 2
T-L-6Synteza obrazów z wykorzystaniem OpenCL C.
T-L-8Zastosowanie AMBA AXI w multimedialnych systemach sprzętowo-programowych. Wykorzystanie OpenCV w Vivado HLS.
T-L-9Zaliczenie laboratorium
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.