ΕΤΕΡΟΓΕΝΗ ΥΠΟΛΟΓΙΣΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Μιχάλης Ψαράκης

Περιγραφή

- Το μάθημα δεν διαθέτει περιγραφή -

Περιεχόμενο Μαθήματος

Τα περισσότερα σύγχρονα υπολογιστικά συστήματα, από τις φορητές υπολογιστικές μηχανές έως τους υπερ-υπολογιστές, χρησιμοποιούν ετερογενείς παράλληλες αρχιτεκτονικές για να επιτύχουν υψηλές επιδόσεις και να ικανοποιήσουν τις υπολογιστικές απαιτήσεις των εφαρμογών. Τα ετερογενή υπολογιστικά συστήματα περιλαμβάνουν πολυπύρηνους επεξεργαστές (multicore processor), πολυνηματικές μονάδες επεξεργασίας γραφικών (graphics processing units, GPUs) και προγραμματιζόμενες διατάξεις λογικής (programmable logic devices). Σκοπός του μαθήματος είναι η μελέτη συγκεκριμένων μεθοδολογιών και εργαλείων για την εύκολη και αποδοτική ανάπτυξη εφαρμογών σε ετερογενείς αρχιτεκτονικές και τον προγραμματισμό των ετερογενών υπολογιστικών υποσυστημάτων. Το μάθημα θα εστιάσει στην κατανόηση των διαφορετικών δυνατοτήτων παράλληλης επεξεργασίας που παρέχονται από τα ετερογενή υπολογιστικά συστήματα και πως με τον κατάλληλο καταμερισμό των διεργασιών της εφαρμογής στα διαφορετικά υποσυστήματα μπορούμε να επιτύχουμε την επιτάχυνση της εφαρμογής.

Θα καλυφθούν τα ακόλουθα αντικείμενα:

  • Εισαγωγή στα ετερογενή υπολογιστικά συστήματα. Ετερογενής υπολογιστικές πλατφόρμες. Περιβάλλοντα προγραμματισμού ετερογενών συστημάτων. Ζητήματα απόδοσης ετερογενών υπολογιστικών συστημάτων.
  • Επαναπρογραμματιζόμενα υπολογιστικά συστήματα (reconfigurable computing). Σχεδίαση κυκλωμάτων με χρήση προγραμματιζόμενων διατάξεων λογικής - Field Programmable Gate Arrays (FPGAs). Σχεδίαση συστημάτων ειδικού σκοπού σε πλατφόρμες FPGA: χρήση ενσωματωμένων επεξεργαστών, ανάπτυξη περιφερειακών μονάδων. Επιτάχυνση εφαρμογών με χρήση επαναπρογραμματιζόμενης υπολογιστικής.
  • Σχεδίαση κυκλωμάτων με γλώσσα περιγραφής υλικού (VHDL) για FPGAs. Χρήση της VHDL για σύνθεση κυκλωμάτων.
  • Αρχιτεκτονές Graphics Processing Units (GPUs). Χρήση πλατφορμών GPUs σε υπολογιστικά συστήματα υψηλής απόδοσης (high-performance computing). Προγραμματισμός CPU-GPU συστημάτων με CUDA C. Επιτάχυνση εφαρμογών με χρήση GPUs.
Τρόποι αξιολόγησης / εξέτασης

Παράδοση 2 εργασιών.

Εργασία Ι (20% τελικού βαθμού): Ατομική. Απλή υλοποίηση κατανόησης (υλοποίηση απλού κυκλώματος σε FPGA με χρήση VHDL ή υλοποίηση απλού προγράμματος σε GPU με CUDA).

Εργασία ΙΙ (80% τελικού βαθμού): Ομαδική (2 ή 3 ατόμων). Πιο πολύπλοκο πρότζεκτ.

Ανθρώπινο Δυναμικό

Επικ. Καθηγητής Μιχάλης Ψαράκης

e-mail: mpsarak at unipi dot gr

Βοηθήματα

Βιβλιογραφία

Σχετικά με Reconfigurable Computing
  • Wayne Wolf, "FPGA-Based System Design", Prentice Hall, 2004. (**)
  • Clive Maxfield, "The Design Warrior's Guide to FPGAs" Newnes, 2004. (**_
  • Steve Kilts, "Advanced FPGA design: architecture, implementation, and optimization", Wiley, 2007. (**)

 

Σχετικά με VHDL

  • Ψηφιακή Σχεδίαση: Eνσωματωμένα Συστήματα με VHDL, Peter J Ashenden, ISBN: 978-960-6759-505, Εκδόσεις Νέων Τεχνολογιών, 2010. (*), (**)
  • Σχεδιασμός Κυκλωμάτων με VHDL, V. Pedroni, Επιμέλεια: Γ. Θεοδωρίδης, Κλειδάριθμος, 2008. (*), (**)

 

Σχετικά με GPUs

  • Kirk, David, Hwu, Wen-mei., Programming massively parallel processors hands-on with CUDA (*), (**)
  • Sanders, Jason., Kandrot, Edward., CUDA by example : an introduction to general-purpose GPU programming (**)

(*)  Υπάρχει ελληνική μετάφραση

(**) Διατίθεται στην βιβλιοθήκη

Ημερολόγιο