Wydział Informatyki - Informatyka (N1)
specjalność: Inżynieria oprogramowania
Sylabus przedmiotu Akceleracja obliczeń:
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 | Akceleracja obliczeń | ||
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 | Magdalena Szaber-Cybularczyk <Magdalena.Szaber@zut.edu.pl>, Mirosław Łazoryszczak <Miroslaw.Lazoryszczak@zut.edu.pl> | ||
ECTS (planowane) | 4,0 | ECTS (formy) | 4,0 |
Forma zaliczenia | zaliczenie | Język | polski |
Blok obieralny | 5 | Grupa obieralna | 1 |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Znajomość podstaw technik cyfowych |
W-2 | Znajomość podstaw dowolnego języka opisu sprzętu |
W-3 | Umiejętność programowania w języku C++ |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Nabycie umiejętności sprzętowej akceleracji obliczeń |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Zapoznanie się z budowaniem środowiska dla tworzenia aplikacji w OpenCL C na przykładzie dodawania wektorów | 2 |
T-L-2 | Mnożenie macierzy w C/C++ i OpenCL C | 2 |
T-L-3 | Pomiar czasu wykonania programu w heterogenicznym środowisku oraz dobór wektorowych typów danych w celu przyspieszenia obliczeń | 2 |
T-L-4 | Filtracja oraz synteza obrazów z wykorzystaniem OpenCL C | 2 |
T-L-5 | Wprowadzenie do Vivado HLS oraz tworzenie akceleratorów sprzętowych w Vivado HLS | 2 |
T-L-6 | Wykorzystanie bibliotek Vivado HLS C | 2 |
T-L-7 | Zastosowanie AMBA AXI w akceleratorach sprzętowych | 2 |
T-L-8 | Wykorzystanie OpenCV w Vivado HLS | 2 |
T-L-9 | Zaliczenie laboratorium | 2 |
18 | ||
wykłady | ||
T-W-1 | Wprowadzenie do akceleracji sprzętowej | 1 |
T-W-2 | Architektura GPU na przykładzie Nvidia | 2 |
T-W-3 | CUDA – model programowania i model pamięci | 2 |
T-W-4 | OpenCL – model platformy, model wykonawczy i model pamięci | 1 |
T-W-5 | OpenCL C | 2 |
T-W-6 | Tworzenia akceleratorów sprzętowych w Vivado HLS | 2 |
T-W-7 | Biblioteki Vivado HLS C | 2 |
T-W-8 | Standard ARM Advanced Microcontroller Bus Architecture (AMBA) | 1 |
T-W-9 | Wykorzystanie OpenCL w Vivado HLS | 2 |
T-W-10 | Biblioteka OpenCV | 1 |
T-W-11 | Zastosowanie OpenCV w Vivado HLS | 1 |
T-W-12 | Zaliczenie wykładu | 1 |
18 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Przygotowanie do zajęć | 32 |
A-L-2 | uczestnictwo w zajęciach | 18 |
50 | ||
wykłady | ||
A-W-1 | Przygotowanie do zajęć | 30 |
A-W-2 | uczestnictwo w zajęciach | 18 |
A-W-3 | Udział w zaliczeniu i konsultacjach | 2 |
50 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład informacyjny |
M-2 | Wykład problemowy |
M-3 | Metoda przypadków |
M-4 | Ćwiczenia laboratoryjne |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena podsumowująca: Ocena podsumowująca: Kolokwium |
S-2 | Ocena 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ów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_D01.11.2_W01 Student zna podstawowe techniki tworzenia akceleratorów sprzętowych z wykorzystaniem układów GPU oraz FPGA | I_1A_W04, I_1A_W02 | — | — | C-1 | T-W-8, T-W-10, T-W-1, T-W-4, T-W-5, T-W-7, T-W-11, T-W-2, T-W-3, T-W-9, T-W-6 | M-1, M-2, M-3 | S-1 |
Zamierzone efekty uczenia się - umiejętności
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_D01.11.2_U01 Student potrafi projektować akceleratory sprzętowe z wykorzystaniem układów GPU oraz FPGA | I_1A_U02, I_1A_U06 | — | — | C-1 | T-L-4, T-L-1, T-L-2, T-L-3, T-L-5, T-L-7, T-L-6, T-L-8 | M-3, M-4 | S-2 |
Kryterium oceny - wiedza
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
I_1A_D01.11.2_W01 Student zna podstawowe techniki tworzenia akceleratorów sprzętowych z wykorzystaniem układów GPU oraz FPGA | 2,0 | nie spełnia wymogów na ocenę 3,0. |
3,0 | zna podstawowe zagadnienia związane z projektowaniem akceleratorów w HLS, w tym magistralę AXI Lite. | |
3,5 | jak na ocenę 3,0 oraz zna oraz podstawy OpenCL. | |
4,0 | jak na ocenę 3,5 oraz zna funkcje biblioteki Vivado HLS C. | |
4,5 | jak na ocenę 4,0 oraz zna podstawy Full AXI. | |
5,0 | jak na ocenę 4,5 oraz zna podstawy SystemC. |
Kryterium oceny - umiejętności
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
I_1A_D01.11.2_U01 Student potrafi projektować akceleratory sprzętowe z wykorzystaniem układów GPU oraz FPGA | 2,0 | nie spełnia wymogów na ocenę 3,0. |
3,0 | potrafi napisać prosty program z wykorzystaniem model programowania CUDA | |
3,5 | jak na ocenę 3,0 oraz potrafi napisać prosty program z wykorzystaniem OpenCL | |
4,0 | jak na ocenę 3,5 oraz potrafi utworzyć prosty multimedialny system sprzętowo-programowy w Vivado HLS z wykorzystaniem AXI | |
4,5 | jak na ocenę 4,0 oraz potrafi wykorzystywać funkcje Vivado HLS C | |
5,0 | jak na ocenę 4,5 oraz potrafi korzystać z OpenCV w Vivado HLS |
Literatura podstawowa
- David R. Kaeli et al., Heterogeneous Computing with OpenCL 2.0, Morgan Kaufmann, 2015
- Xilinx Inc., Vivado Design Suite User Guide: High-Level Synthesis, 2014
- Adrian Kaehler, Gary Bradski, Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library, O'Reilly Media, 2016
Literatura dodatkowa
- Sanjay Churiwala (Editor), Designing with Xilinx® FPGAs: Using Vivado, Springer, 2016
- J. Bhasker, A SystemC Primer, Second Edition, Star Galaxy Publishing, 2010
- Hasitha Muthumala Waidyasooriya, Masanori Hariyama, Kunio Uchiyama, Design of FPGA-Based Computing Systems with OpenCL, Springer, 2017