30 Σεπ 2024 11:46 - Στέργιος Παπαδημητρίου

  Βιβλιογραφία και Διαμόρφωση της ύλης για τα μαθήματα "Μεταγλωττιστές", "Παράλληλος και Κατανεμημένος Υπολογισμός", "Κατανεμημένα Συστήματα και Μεγάλα Δεδομένα"

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


Όλα τα ξενόγλωσσα βιβλία που θα χρησιμοποιήσω στις παρουσιάσεις υπάρχουν διαθέσιμα για download από το site:


https://sourceforge.net/projects/booksforihucs/files/


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


  1. Μεταγλωττιστές



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


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

Ενα βασικό βιβλίο είναι το "Programming Language Pragmatics", του Michael Scott για το οποίο υπάρχει η 2η έκδοση μεταφρασμένη ως πρώτη επιλογή στον Εύδοξο, αλλά έχω διαθέσιμη και την τέταρτη έκδοση σε ηλεκτρονική μορφή, η οποία είναι αρκετά πιο πρόσφατη, αλλά δεν έχει πολύ σημαντικές αλλαγές και θα προχωρήσουμε βάση της δεύτερης έκδοσης .για συμβατότητα με την Ελληνική έκδοση του Εύδοξου.

Επίσης, άλλο βασικό βιβλίο είναι το "Mastering Julia", όπου υπάρχει αξιόλογο υλικό για την σχεδίαση γλωσσών προγραμματισμού.


Διαμόρφωση της Υλης με την αντιστοίχηση στο Ελληνικό μεταφρασμένο βιβλίο


Το Κεφάλαιο 1 είναι εισαγωγικό περιγράφει μια περίληψη της ύλης που ακολουθεί (σελ. 35-60).

Το Κεφάλαιο 2, σελ. 65-94 μέχρι και εκτός της ενότητας 2.3.2.


Από το βιβλίο "Mastering Julia"

Κεφάλαιο 2 - Developing in Julia

Κεφάλαιο 3 - The Julia Type System

Κεφάλαιο 4 - The Three-Ms



2. Παράλληλος και Κατανεμημένος Υπολογισμός



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

Το εργαστήριο του μαθήματος θα γίνει όπως και η θεωρία, χωρίς απουσίες και με παρόμοιο τρόπο εξέτασης.



Το βασικό βιβλίο θα είναι του Αθανάσιου Μάργαρη, Παράλληλη Επεξεργασία", που είναι και η πρώτη επιλογή στον Εύδοξο.

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


Συγκεκριμένα πρόκειται να χρησιμοποιήσω το βιβλίο

"Multicore And GPU Programming, An Integrated Approach", Gerassimos Barlas, 2023" το οποίο είναι τελείως πρόσφατο και φαίνεται ως το καλύτερο και πληρέστερο στον Παράλληλο Υπολογισμό.


Αλλο πολύ σύγχρονο και εξαιρετικό βιβλίο είναι το

"Data Parallel C++", 2nd edition, Apress 2023,

το οποίο εξειδικεύεται στο open μοντέλο SYCL για C++, το οποίο παραμένει low level και efficient αλλά είναι περισότερο δομημένο και εύχρηστο σε σχέση με C based μοντέλα π.χ. CUDA.


Επίσης πολύ καλό βιβλίο για CUDA ίσως το καλύτερο, είναι το:

"Programming Massively Parallel Processors", David B. Kirk, Wen-mei Hwo, 4th edition, 2023"


Είχα χρησιμοποιήσει ήδη τα βιβλία

"Data Parallel C++", 2nd edition, 2023

"Parallel And High Performance Computing, Robert Robey, Yuliana Zamora" και

"An Introduction to Parallel Programming, Peter Pacheco, Mattthew Malensek "

που επίσης είναι πολύ καλά.


Διαμόρφωση της ύλης


Από το βιβλίο "Multicore And GPU Programming, An Integrated Approach", Gerassimos Barlas:


Το Κεφάλαιο 1 είναι εισαγωγικό, χρειάζεται βέβαια μια ανάγνωση.

Κεφάλαιο 6 GPU programming-CUDA

Σελ. 389-416


Από το βιβλίο "Parallel And High Performance Computing, Robert Robey, Yuliana Zamora" ,


Chapter 9 , σελ. 309-321

Chapter 10, σελ. 346-353


Από το βιβλίο

"Data Parallel C++", 2nd edition, Apress 2023

Σελ. 1-65 Introduction, Where Code Executes

Σελ. 67-96 Data Management

Σελ.97-132 Expressing Parallelism

Σελ. 133-152 Error handling

Σελ. 153-178 Unified Shared Memory

Σελ. 179-200 Buffers

Σελ. 200-219 Scheduling Kernels and Data Movement





3.. Κατανεμημένα Συστήματα και Μεγάλα Δεδομένα


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


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


Ultimate Parrallel and Distributed Computing with Julia For Data Science, Nabanita Dash, Orange Education, 2024

Επειδή είναι πρακτικό και ευανάγνωστο βιβλίο θα αποτελέσει το βασικό εγχειρίδιο


Deep Learning, Ian Goodellow ,Yoshua Bengio, Aaron Courville, MIT Press 2016 (Το βιβλίο αυτό μεταφρασμένο είναι η 1η επιλογή στον Εύδοξο)


Generative Deep Learning, David Foster, O'Reilly 2023


Deep Learning, Christopher Bishop, Springer 2024


Διαμόρφωση της ύλης


Από το βιβλίο

Ultimate Parrallel and Distributed Computing with Julia For Data Science, Nabanita Dash, Orange Education, 2024

Κεφάλαια: 3,4,5,6,7,8,9


Από το βιβλίο "Βαθιά Μάθηση, Ian Goodfellow, Yoshua Bengio, Aaron Courville, από τον Εύδοξο"

Κεφάλαιο 9 - Συνελικτικά Δίκτυα

Κεφάλαιο 5 - Machine Learning Basics - Σελ. 98-131


Από το βιβλίο "Deep Learning, του Bishop",

Κεφάλαιο 12 - Transformers, σελ. 357-368