ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Συστήματα Επεξεργασίας Υψηλών Επιδόσεων (FPGAs, DSPs, GPUs)

1. ΓΕΝΙΚΑ

ΣΧΟΛΗ Σχολή Μηχανικών
ΤΜΗΜΑ Τμήμα Μηχανικών Πληροφορικής, Υπολογιστών και Τηλεπικοινωνιών
ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Μεταπτυχιακό
ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ %cf%81203 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 2o
ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ Συστήματα Επεξεργασίας Υψηλών Επιδόσεων (FPGAs, DSPs, GPUs)
ΑΥΤΟΤΕΛΕΙΣ ΔΙΔΑΚΤΙΚΕΣ ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ
σε περίπτωση που οι πιστωτικές μονάδες απονέμονται σε διακριτά μέρη του μαθήματος π.χ. Διαλέξεις, Εργαστηριακές Ασκήσεις κ.λπ. Αν οι πιστωτικές μονάδες απονέμονται ενιαία για το σύνολο του μαθήματος αναγράψτε τις εβδομαδιαίες ώρες διδασκαλίας και το σύνολο των πιστωτικών μονάδων.
ΕΒΔΟΜΑΔΙΑΙΕΣ ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ ΠΙΣΤΩΤΙΚΕΣ ΜΟΝΑΔΕΣ
Προσθέστε σειρές αν χρειαστεί. Η οργάνωση διδασκαλίας και οι διδακτικές μέθοδοι που χρησιμοποιούνται περιγράφονται αναλυτικά στο 4.    
ΤΥΠΟΣ ΜΑΘΗΜΑΤΟΣ
Γενικής Υποδομής (ΓΥ),Ειδικής Υποδομής (ΕΥ), Γενικών Γνώσεων (ΓΓΔ) και Επιστημονικής Περιοχής (ΔΔΤΝ, ΕΔ, ΕΥΣ, ΗΛ, ΠΑ) .
 Ειδίκευσης
ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ ΜΑΘΗΜΑΤΑ:  
ΓΛΩΣΣΑ ΔΙΔΑΣΚΑΛΙΑΣ και ΕΞΕΤΑΣΕΩΝ:  Ελληνικά
ΤΟ ΜΑΘΗΜΑ ΠΡΟΣΦΕΡΕΤΑΙ ΣΕ ΦΟΙΤΗΤΕΣ ERASMUS Ναι
ΗΛΕΚΤΡΟΝΙΚΗ ΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ (URL)

2. ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Μαθησιακά Αποτελέσματα
Περιγράφονται τα μαθησιακά αποτελέσματα του μαθήματος οι συγκεκριμένες  γνώσεις, δεξιότητες και ικανότητες καταλλήλου επιπέδου που θα αποκτήσουν οι φοιτητές μετά την επιτυχή ολοκλήρωση του μαθήματος.

Σκοπός του μαθήματος είναι να εισαγάγει τους φοιτητές στις έννοιες της παράλληλης επεξεργασίας για επιτάχυνση εφαρμογών επεξεργασίας σήματος, με χρήση εξειδικευμένου υλικού, όπως FPGAs και GPUs. Εφαρμογές ρομποτικής που σε συστήματα προσωπικών υπολογιστών θα απαιτούσαν μεγάλους χρόνους εκτέλεσης, μπορούν να υλοποιηθούν με χρήση διατάξεων FPGAs ή GPUs ώστε να επιτευχθούν υψηλές επιδόσεις και λειτουργία πραγματικού χρόνου.

Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής/τρια θα είναι σε θέση:

• να σχεδιάζει ψηφιακά κυκλώματα με τη χρήση των διατάξεων FPGAs.

• να κατανοεί αρχιτεκτονικές παράλληλης επεξεργασίας δεδομένων και να υλοποιεί με παράλληλο τρόπο φίλτρα ψηφιακής επεξεργασίας σε σήματα μιας και δύο διαστάσεων.

• να υλοποιεί αλγορίθμους ρομποτικής όρασης χρησιμοποιώντας διατάξεις υλικού.

• να χρησιμοποιεί εργαλεία ανάπτυξης υλικού/λογισμικού όπως τα Quartus Prime, Modelsim, Vivado, CUDA και να υλοποιεί συστήματα για ρομποτικές εφαρμογές.

Γενικές Ικανότητες
Λαμβάνοντας υπόψη τις γενικές ικανότητες που πρέπει να έχει αποκτήσει ο πτυχιούχος (όπως αυτές αναγράφονται στο Παράρτημα Διπλώματος και παρατίθενται ακολούθως) σε ποια / ποιες από αυτές αποσκοπεί το μάθημα;.
Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών με τη χρήση και των απαραίτητων τεχνολογιών - Προσαρμογή σε νέες καταστάσεις - Λήψη αποφάσεων - Αυτόνομη εργασία - Ομαδική εργασία - Εργασία σε διεθνές περιβάλλον - Εργασία σε διεπιστημονικό περιβάλλον - Παράγωγή νέων ερευνητικών ιδεών Σχεδιασμός και διαχείριση έργων - Σεβασμός στη διαφορετικότητα και στην πολυπολιτισμικότητα - Σεβασμός στο φυσικό περιβάλλον - Επίδειξη κοινωνικής, επαγγελματικής και ηθικής υπευθυνότητας και ευαισθησίας σε θέματα φύλου - Άσκηση κριτικής και αυτοκριτικής - Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης

• να αναζητά, να αναλύει και να συνθέτει δεδομένα και πληροφορίες, με σκοπό τη σχεδίαση των ως άνω συστημάτων

• να εργάζεται αυτόνομα στο πλαίσιο ολοκληρωμένο σχεδίου εργασίας, με τρόπο που καλλιεργεί την αυτενέργεια και την επιστημονική πρωτοβουλία. Τα σχέδια εργασίας σχεδιάζονται ώστε να προάγουν την ελεύθερη, δημιουργική και επαγωγική σκέψη.

3. ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

  1. Επισκόπηση Άλγεβρας Boole. Εισαγωγή στις διατάξεις FPGAs/CPLDs. Κύκλος σχεδίασης συστημάτων. Γλώσσες περιγραφής υλικού. Εισαγωγή στη γλώσσα περιγραφής υλικού VHDL. Το λογισμικό ανάπτυξης εφαρμογών της Intel Quartus Prime.
  2. Σχεδίαση συνδυαστικών κυκλωμάτων. Υλοποίηση αποκωδικοποιητών, πολυπλεκτών, συγκριτών σε VHDL και έλεγχος λειτουργίας με χρήση testbench.
  3. Σχεδίαση αριθμητικών κυκλωμάτων. Υλοποίηση αθροιστή-αφαιρέτη. Αρχές ιεραρχικής σχεδίασης και υλοποίηση σε γλώσσα VHDL.
  4. Σχεδίαση ακολουθιακών κυκλωμάτων. Σχεδίαση flip-flop, καταχωρητών ολίσθησης/παράλληλης φόρτωσης, απαριθμητών, ολισθητών γραμμής.
  5. Μηχανές πεπερασμένων καταστάσεων (FSMs) και υλοποίησή τους σε γλώσσα περιγραφής υλικού VHDL. Σχεδίαση ελεγκτών/μονάδων επεξεργασίας σε VHDL.
  6. Επιτάχυνση επεξεργασίας δεδομένων με σχεδίαση στο υλικό. Παράλληλη επεξεργασία. Τεχνική pipeline και εφαρμογή σε φίλτρα 1D. Υλοποίηση φίλτρων FIR 1D.
  7. Σχεδίαση επεξεργαστών ρομποτικής όρασης. Τεχνική pipelining σε φίλτρα δύο διαστάσεων. Υλοποίηση φίλτρων εικόνας.
  8. Εφαρμογές SoC. Επεξεργαστές Nios II, MicroBlaze, PicoBlaze. Λογισμικό ανάπτυξης εφαρμογών της Xilinx ISE/Vivado. Pynq project.
  9. Εισαγωγή στην υπολογιστική των επεξεργαστών γραφικών (GPU computing) και στον παράλληλο προγραμματισμό με τη χρήση επεξεργαστών γραφικών. Εισαγωγή στην πλατφόρμα CUDA (Compute Unified Device Architecture) της NVIDIA.
  10. Προγραμματισμός σε CUDA με το MATLAB, εργαστηριακά παραδείγματα.
  11. Εισαγωγή στα παράλληλα και κατανεμημένα συστήματα. Υλοποίηση απλού project ρομποτικής σε CUDA.

4. ΔΙΔΑΚΤΙΚΕΣ και ΜΑΘΗΣΙΑΚΕΣ ΜΕΘΟΔΟΙ - ΑΞΙΟΛΟΓΗΣΗ

ΤΡΟΠΟΣ ΠΑΡΑΔΟΣΗΣ
Πρόσωπο με πρόσωπο, Εξ αποστάσεως εκπαίδευση κ.λπ.

Θεωρητικό μέρος μαθήματος

Ανάπτυξη της ύλης στον πίνακα, χρήση διαφανειών σε βιντεοπροβολέα, επιδίωξη αλληλεπίδρασης με τους φοιτητές μέσω ερωταποκρίσεων και διαλογικής συζήτησης.

Εργαστηριακό μέρος μαθήματος (εντάσσεται στην τρίωρη διάλεξη)

Εργαστηριακές ασκήσεις με χρήση αναπτυξιακών συστημάτων FPGA, καρτών με αισθητήρες, ράστερ και διακριτών ηλεκτρονικών εξαρτημάτων.

ΧΡΗΣΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ
Χρήση Τ.Π.Ε. στη Διδασκαλία, στην Εργαστηριακή Εκπαίδευση, στην Επικοινωνία με τους φοιτητές

Χρήση λογισμικού σύγχρονης και ασύγχρονης τηλεκπαίδευσης.

Αναμετάδοση του μαθήματος μέσω Zoom και ανάρτηση εκπαιδευτικού υλικού στην πλατφόρμα Moodle όπως σημειώσεις, ηλεκτρονικά βιβλία, εργαστηριακές ασκήσεις, διαδικτυακοί ιστότοποι, βιντεοσκοπημένες διαλέξεις μαθημάτων κλπ.

Δημιουργία καναλιού στο λογισμικό slack για καλύτερη οργάνωση της επικοινωνίας που αφορά το συγκεκριμένο μάθημα

ΟΡΓΑΝΩΣΗ ΔΙΔΑΣΚΑΛΙΑΣ
Περιγράφονται αναλυτικά ο τρόπος και μέθοδοι διδασκαλίας. Διαλέξεις, Σεμινάρια, Εργαστηριακή Άσκηση, Άσκηση Πεδίου, Μελέτη & ανάλυση βιβλιογραφίας, Φροντιστήριο, Πρακτική (Τοποθέτηση), Κλινική Άσκηση, Καλλιτεχνικό Εργαστήριο, Διαδραστική διδασκαλία, Εκπαιδευτικές επισκέψεις, Εκπόνηση μελέτης (project), Συγγραφή εργασίας / εργασιών, Καλλιτεχνική δημιουργία, κ.λπ. Αναγράφονται οι ώρες μελέτης του φοιτητή για κάθε μαθησιακή δραστηριότητα καθώς και οι ώρες μη καθοδηγούμενης μελέτης ώστε ο συνολικός φόρτος εργασίας σε επίπεδο εξαμήνου να αντιστοιχεί στα standards του ECTS

Οργάνωση Διδασκαλίας

ΔραστηριότηταΦόρτος εργασίας εξαμήνου
Ώρες Διδασκαλίας39
Εκπόνηση εργασίας100
Αυτοτελής Μελέτη50
Σύνολο189
ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ
Περιγραφή της διαδικασίας αξιολόγησης Γλώσσα Αξιολόγησης, Μέθοδοι αξιολόγησης, Διαμορφωτική ή Συμπερασματική, Δοκιμασία Πολλαπλής Επιλογής, Ερωτήσεις Σύντομης Απάντησης, Ερωτήσεις Ανάπτυξης Δοκιμίων, Επίλυση Προβλημάτων, Γραπτή Εργασία, Έκθεση / Αναφορά, Προφορική Εξέταση, Δημόσια Παρουσίαση, Εργαστηριακή Εργασία, Κλινική Εξέταση Ασθενούς, Καλλιτεχνική Ερμηνεία, Άλλη / Άλλες. Αναφέρονται ρητά προσδιορισμένα κριτήρια αξιολόγησης και εάν και που είναι προσβάσιμα από τους φοιτητές.

Ο τελικός βαθμός του μαθήματος διαμορφώνεται κατά βάση από την εκπόνηση δύο εργασιών εξαμήνου. Η πρώτη εργασία αφορά τις διατάξεις FPGA και η δεύτερη εργασία αφορά την χρήση GPU, τον προγραμματισμό παράλληλων και κατενεμημένων συστημάτων. Η κάθε εργασία μπορεί να περιλαμβάνει βιβλιογραφική αναζήτηση, σύνταξη κειμένου, ανάπτυξη κώδικα, υλοποίηση κυκλώματος, επίδειξη λειτουργίας και δεκαπεντάλεπτη παρουσίαση η οποία πραγματοποιείται στο τέλους του εξαμήνου.

Οι παρουσιάσεις των εργασιών είναι ανοικτές στο κοινό, κατά τη διάρκειά τους πραγματοποιούνται ερωτήσεις και γίνεται λεπτομερής εξέταση των μεθόδων που εφαρμόστηκαν και των αποτελεσμάτων που παράχθηκαν.

Μπορεί προαιρετικά να πραγματοποιηθεί και γραπτή τελική εξέταση στο τέλος του εξαμήνου η οποία θα προσμετράται μαζί με την εκπόνηση των δύο εργασιών για τον τελικό βαθμό του μαθήματος.

Η γραπτή εξέταση μπορεί να περιλαμβάνει επίλυση προβλημάτων εφαρμογής των γνώσεων που αποκτήθηκαν, ερωτήσεις πολλαπλής επιλογής, ερωτήσεις σύντομης απάντησης, ερωτήσεις ανάπτυξης κλπ.

5. ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ

Συγγράμματα

-Προτεινόμενη Βιβλιογραφία για το θεωρητικό μέρος

  1. “Circuit Design and Simulation with VHDL”, V. Pedroni, 2nd Edition, MIT Press.
  2. “Quick Start Guide to VHDL”, Brock J. LaMeres, 1st Edition, Springer.
  3. “Digital Signal processing with Field Programmable Gate Arrays”, Meyer-Baese, Springer.
  4. “Embedded SoPC design with Nios II Processor and VHDL examples”, Pong Chu, Wiley.
  5. “Εισαγωγή στη VHDL”, Ιωάννη Καλόμοιρου, Σημειώσεις.
  6. “Programming on Parallel machines”, Norm Matloff, open access.
  7. “Programming Massively Parallel Processors”, David Kirk, Wen-mei W. Hwu, Morgan Kaufmann, 2010.
  8. “The CUDA Handbook: A Comprehensive Guide to GPU Programming”, Nicholas Wilt, 2011.

Προτεινόμενη βιβλιογραφία για το εργαστηριακό μέρος

  1. Βουρβουλάκης Ιωάννης, Προηγμένα Ψηφιακά Συστήματα – Εργαστηριακές Ασκήσεις, Σέρρες, 2022.
  2. Βουρβουλάκης Ιωάννης, Σχεδίαση Συστημάτων Υψηλών Επιδόσεων – Εργαστηριακές Ασκήσεις, Σέρρες, 2022.