Βιβλιογραφία και Διαμόρφωση της ύλης για τα μαθήματα "Μεταγλωττιστές", "Παράλληλος και Κατανεμημένος Υπολογισμός", "Κατανεμημένα Συστήματα και Μεγάλα Δεδομένα"
Βιβλιογραφία
Όλα τα ξενόγλωσσα βιβλία που θα χρησιμοποιήσω στις παρουσιάσεις υπάρχουν διαθέσιμα για download από το site:
https://sourceforge.net/projects/booksforihucs/files/
Οι παράγραφοι "Διαμόρφωση της ύλης", στο τέλος του εξαμήνου θα περιγράφουν την εξετασθέα ύλη, ενδιάμεσα θα αντιστοιχούν στην παραδοθείσα ύλη, αλλά όχι με απόλυτη ακρίβεια.
- Μεταγλωττιστές
Το μάθημα έχει ερευνητική εργασία που θα μετρήσει 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