ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ Η/Υ.

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ Η/Υ."

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ Η/Υ. ΕΠΙΤΑΧΥΝΣΗ ΚΩΔΙΚΑ ΠΕΠΕΡΑΣΜΕΝΩΝ ΣΤΟΙΧΕΙΩΝ ΓΙΑ ΜΗΧΑΝΟΛΟΓΙΚΕΣ ΕΦΑΡΜΟΓΕΣ FINITE ELEMENTS CODE ACCELERATION FOR MECHANICAL ENGINEERING APPLICATIONS ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΣΠΥΡΙΔΩΝ Κ. ΘΕΡΜΟΣ Επιβλέποντες Καθηγητές : Γεώργιος Σταμούλης Καθηγητής ΤΗΜΜΥ Νικόλαος Αράβας Καθηγητής ΤΜΜ Βόλος, Σεπτέμβριος 2013

2 2

3 ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ Η/Υ ΕΠΙΤΑΧΥΝΣΗ ΚΩΔΙΚΑ ΠΕΠΕΡΑΣΜΕΝΩΝ ΣΤΟΙΧΕΙΩΝ ΓΙΑ ΜΗΧΑΝΟΛΟΓΙΚΕΣ ΕΦΑΡΜΟΓΕΣ FINITE ELEMENTS CODE ACCELERATION FOR MECHANICAL ENGINEERING APPLICATIONS ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΣΠΥΡΙΔΩΝ Κ. ΘΕΡΜΟΣ Επιβλέποντες Καθηγητές : Γεώργιος Σταμούλης Καθηγητής ΤΗΜΜΥ Νικόλαος Αράβας Καθηγητής ΤΜΜ Εγκρίθηκε από την διμελή εξεταστική επιτροπή την.η Σεπτεμβρίου Γ. Σταμούλης Ν. Αράβας Καθηγητής ΤΗΜΜΥ Καθηγητής ΤΜΜ 3

4 4

5 Διπλωματική Εργασία για την απόκτηση του Διπλώματος του Μηχανικού Η/Υ Τηλεπικοινωνιών και Δικτύων του Πανεπιστημίου Θεσσαλίας, στα πλαίσια του Προγράμματος Προπτυχιακών Σπουδών του Τμήματος Μηχανικών Η/Υ Τηλεπικοινωνιών και Δικτύων του Πανεπιστημίου Θεσσαλίας... Σπυρίδων K. Θερμός Διπλωματούχος Μηχανικός Η/Υ Τηλεπικοινωνιών και Δικτύων Πανεπιστημίου Θεσσαλίας Copyright Spyridon Thermos, 2013 Με επιφύλαξη παντός δικαιώματος. All rights reserved. Απαγορεύεται η αντιγραφή, αποθήκευση και διανομή της παρούσας εργασίας, εξ ολοκλήρου ή τμήματος αυτής, για εμπορικό σκοπό. Επιτρέπεται η ανατύπωση, αποθήκευση και διανομή για σκοπό μη κερδοσκοπικό, εκπαιδευτικής ή ερευνητικής φύσης, υπό την προϋπόθεση να αναφέρεται η πηγή προέλευσης και να διατηρείται το παρόν μήνυμα. Ερωτήματα που αφορούν τη χρήση της εργασίας για κερδοσκοπικό σκοπό πρέπει να απευθύνονται προς τον συγγραφέα. 5

6 6

7 Στην Ιορδάνα και την παρέα του Βόλου. 7

8 8

9 Ευχαριστίες Με την περάτωση της παρούσας διπλωματικής εργασίας, θα ήθελα να ευχαριστήσω τους επιβλέποντες καθηγητές κ. Σταμούλη Γεώργιο και κ. Νικόλαο Αράβα για την εμπιστοσύνη που επέδειξαν στο πρόσωπό μου και την συνεχή καθοδήγηση που διευκόλυνε την εκπόνηση της συγκεκριμένης εργασίας. Ακόμα, θα ήθελα να ευχαριστήσω τους Κωνσταντή Νταλούκα και Μπάμπη Αντωνιάδη για την υποστήριξη και τις ουσιώδεις παρεμβάσεις τους. Τέλος, θα ήθελα να ευχαριστήσω την οικογένειά μου για την αμέριστη υποστήριξη και πολύτιμη βοήθεια που μου παρείχαν τόσο κατά την διάρκεια των σπουδών μου όσο και κατά την εκπόνηση της διπλωματικής αυτής εργασίας. Θερμός Σπύρος Βόλος

10 Περίληψη Τα δομικά στοιχεία των μηχανολογικών κατασκευών υπόκεινται σε επαναλαμβανόμενες κυκλικές καταπονήσεις, από τις οποίες δημιουργούνται και διαδίδονται ρωγμές. Ο υπολογισμός διάδοσης μιας ρωγμής ανάλογα με τον τύπο της, είναι μία διαδικασία που περιλαμβάνει μια σειρά από πράξεις πινάκων οι οποίες υλοποιούνται με τη βοήθεια της τεχνολογίας. Οι περισσότερες εφαρμογές που υπολογίζουν τη διάδοση της ρωγμής είναι γραμμένες σε γλώσσα FORTRAN, μια γλώσσα σχεδιασμένη αποκλειστικά για μηχανικούς που θέλουν να μοντελοποιήσουν και να επιλύσουν προβλήματα που αφορούν σε μηχανολογικές κατασκευές. Όσο μεγαλύτερα και πιο πολύπλοκα είναι τα προβλήματα αυτά τόσο πιο χρονοβόροι είναι οι υπολογισμοί. Τα τελευταία χρόνια παράλληλα, έγιναν άλματα στην τεχνολογία έτσι ώστε να μπορούν να υποστηριχτούν υπολογισμοί που επιλύουν απαιτητικά, σε πράξεις, προβλήματα και να ελαχιστοποιηθεί ο χρόνος επίλυσής τους. Οι GPUs είναι πλατφόρμες με μεγάλο αριθμό πυρήνων οι οποίοι πραγματοποιούν υπολογισμούς παράλληλα με πολύ καλή απόδοση και είναι ότι καλύτερο έχει να ε- πιδείξει αυτή τη στιγμή η βιομηχανία για να βοηθήσει στην γρηγορότερη εκτέλεση των εφαρμογών που αναφέρθηκαν παραπάνω. Στόχος αυτής της διπλωματικής εργασίας είναι να παρουσιάσει μια εφαρμογή που υπολογίζει τη διάδοση ρωγμής mode III, να κάνει μια εισαγωγή στην νέα τεχνολογία που επικρατεί τελευταία στον τομέα των υπολογισμών και να αποδείξει ότι παραλληλοποιώντας τη συγκεκριμένη εφαρμογή, είναι δυνατή η αισθητή επιτάχυνσή της. 10

11 Abstract The modules of mechanical constructions underlie recurrent cyclic distresses, from which fissures are brought about and disseminated. The computation of a fissure s dissemination commensurate to its type is a process that includes a series of matrix operations that are carried into effect via technology. Most applications that compute the dissemination of the fissure are written in FORTRAN, a language designed exclusively for mechanical engineers who wish to model and solve problems relative to mechanical constructions. The bigger and the complicated the problems are, the more time-consuming the computations are. Simultaneously, during the past few years, great strides have been made in technology so that the computations that solve exacting problems can be asserted, in acts, thus the time consumed to solve them can be reduced. The GPUs are chips with great number of cores that materialize computations in parallel while carrying out a very good execution and therefore being the best there is to show, in the industry, that help with the fastest execution of the above mentioned applications. The aim of this diploma thesis is to present an application that computes the mode III fissure dissemination, to make an introduction in the new technology dominant lately in the field of computations and to prove that by parallelizing this application, its serious acceleration is possible. 11

12 Περιεχόμενα Table of Contents Ευχαριστίες... 9 Περίληψη Abstract Περιεχόμενα Συντομογραφίες Εισαγωγή Παρουσίαση του προβλήματος και συμβολή της εργασίας Διάρθρωση της διπλωματικής εργασίας Εφαρμογή Δημιουργία και Διάδοση Ρωγμών FORTRAN Βιβλιοθήκη LAPACK Μετατροπή σε γλώσσα C Ενσωμάτωση της LAPACK Μεταγλώττιση Δέσμευση Μνήμης Παραλληλοποίηση Γενικά Εποχή SINGLE CORE Εποχή MULTICORE MANYCORES GPUs - CUDA Παραλληλοποίηση της εφαρμογής μας Πειραματικά αποτελέσματα Επίλογος Συμπεράσματα Βιβλιογραφία

13 Συντομογραφίες CPU CUDA FORTRAN GPU ILP LAPACK OPENCL SM Central Processing Unit Compute Unified Device Architecture Formulae Translator Graphics Processing Unit Instruction Level Parallelism Linear Algebra Package Open Computing Language Streaming Multiprocessor 13

14 1. Εισαγωγή 1.1 Παρουσίαση του προβλήματος και συμβολή της εργασίας Πολλές φορές για να επιλύσουμε ένα πρόβλημα που απαιτεί υπολογισμούς όχι τόσο πολύπλοκους αλλά με πολύ μεγάλο αριθμό στοιχείων δεν αρκεί στυλό και χαρτί. Ένας μηχανικός αντιμετωπίζει συχνά τέτοια προβλήματα και καταφεύγει στη δημιουργία εφαρμογών για την επίλυση αυτών των προβλημάτων, οι οποίες χρησημοποιούν τις υπολογιστικές μονάδες ενός επεξεργαστή. Οι περισσότερες μηχανολογικές εφαρμογές είναι σε γλώσσα Fortran, μια γλώσσα εξιδανικευμένη για μαθηματικούς υπολογισμούς. Είναι όμως και η πιο γρήγορη υλοποίηση; Όσο μεγαλύτερος ο όγκος των στοιχείων που έχουμε για ένα πρόβλημα τόσο περισσότερος και ο χρόνος που πρέπει να σπαταλήσουμε για την επίλυσή του. Η δημιουργία και διάδωση μιας ρωγμής σε κάποιο υλικό είναι ένα υπαρκτό πρόβλημα και ο υπολογισμός διάδοσης ρωγμής είναι μια χρονοβόρα υπολογιστική διαδικασία μιας και έχει πολλά στοιχεία που εμπλέκονται στην επίλυση του προβλήματος. Η εργασία έχει ως σκοπό την μελέτη της απόδοσης στον χρόνο εκτέλεσης μιας εφαρμογής που υπολογίζει το διάδοση ρωγμής, αν μεταφερθούν τα πιο χρονοβόρα τμήματα αυτής στην κάρτα γραφικών ( GPU ) και τη σύγκριση των αποτελεσμάτων της με τα αντίστοιχα της κεντρικής μονάδας επεξεργασίας ( CPU ). Έχει παρατηρηθεί τα τελευταία χρόνια ότι η χρήση των καρτών γραφικών ( GPU ) σαν επιταχυντών, έχει συμβάλλει σημαντικά στην μείωση του χρόνου εκτέλεσης πολλών μεγάλων και υπολογιστικά χρονοβόρων εφαρμογών. Οι δυνατότητες που προσφέρουν οι προαναφερόμενες κάρτες όσον αφορά στις μονάδες εκτέλεσης που μπορούν να τρέξουν παράλληλα πάνω σε αυτές είναι πολύ μεγαλύτερες σε σχέση με αυτές που παρέχει η κεντρική μονάδα επεξεργασίας ( CPU ) και αυξάνονται με την πάροδο του χρόνου. Έχουν αναπτυχθεί διάφορα μοντέλα παραλληλισμού για την αξιοποίησή τους, με πιο διαδεδομένα 14

15 αυτό της CUDA και του OpenCL. Το μοντέλο CUDA ανήκει στην NVIDIA, ενώ αυτό του OpenCL ανήκει σε μια πληθώρα εταιριών κατασκευής υλικού, στις οποίες εντάσσεται και η NVIDIA. Στην παρούσα μελέτη μας, θα χρησιμοποιηθεί το μοντέλο της CUDA. 1.2 Διάρθρωση της διπλωματικής εργασίας Αρχικά, στη διπλωματική αυτή εργασία, θα δούμε ποιο ακριβώς είναι το πρόβλημα με το οποίο καταπιάνεται η εφαρμογή μας, αλλά και ποια γλώσσα χρησημοποιήθηκε για την δημιουργία της εφαρμογής αυτής. Στη συνέχεια, παρουσιάζεται η μετατροπή της εφαρμογής σε μια άλλη γλώσσα προγραμματισμού. Η μετατροπή αυτή μας επιτρέπει να εξετάσουμε τον χρόνο που απαιτείται για να ολοκληρωθούν οι υπολογισμοί όταν η εφαρμογή αυτή τρέξει σε έναν πυρήνα επεξεργαστή ή και σε περισσότερους πυρήνες τις ίδιας CPU. Αμέσως μετά γίνεται παρουσίαση των μονάδων GPU αλλά και μια εισαγωγή στη γλώσσα CUDA, η οποία θα μας επιτρέψει να παραλληλοποιήσουμε την εφαρμογή μας, όπου αυτό είναι δυνατό, και να γλιτώσσουμε αρκετό χρόνο σε σχέση με τη σειριακή υλοποίηση. Τέλος, στην ενότητα των πειραματικών αποτελεσμάτων θα δούμε στην πράξη τους χρόνους που καταναλώνουν οι υπολογισμοί αλλά και το πρόγραμμα συνολικά και θα έχουμε την ευκαιρία να βγάλουμε συμπεράσματα συγκρίνοντας τους χρόνους ολοκλήρωσης μεταξύ διαφορετικών υλοποιήσεων. 15

16 2. Εφαρμογή 2.1 Δημιουργία και Διάδοση Ρωγμών Ρωγμή στο επίπεδο μπορεί να ορισθεί ότι είναι το όριο ελλειπτικής οπής, ο μικρός ημιάξονας της οποίας τείνει στο μηδέν ή ότι είναι μια φυσική ασυνέχεια χωρίς πάχος (μαθηματική γραμμή). Ο G.R. Irwin μελετώντας το τασικό πεδίο στην αιχμή μιας ρωγμής παρατήρησε ότι υπάρχουν τρεις ανεξάρτητοι τρόποι μετακινήσεως (παραμορφώσεως) των χειλέων της ανάλογα με το είδος της εφαρμοζόμενης φορτίσεως. Οποιαδήποτε άλλη μορφή παραμορφώσεως μπορεί να θεωρηθεί ότι προκύπτει από το συνδυασμό των τριών αυτών τύπων. α) Επίπεδος Εφελκυστικός Τύπος-Ι (Opening Mode ή Mode I): Αντιστοιχεί σε ομοαξονικό εφελκυσμό κάθετο στο μεγάλο άξονα της ρωγμής. Στην περίπτωση αυτή τα χείλη της ρωγμής τείνουν να διαχωριστούν συμμετρικά ως προς το πριν την παραμόρφωση επίπεδό της. (Σχ. 1 α) β) Συνεπίπεδος Διατμητικός Τύπος-ΙΙ (Sliding Mode ή Mode II): Αντιστοιχεί σε διάτμηση κατά μήκος του μεγάλου άξονα της ρωγμής και προκύπτει όταν τα απέναντι χείλη της τείνουν να ολισθήσουν το ένα σχετικά με το άλλο προς αντίθετες διευθύνσεις, αλλά πάνω στο ίδιο επίπεδο. (Σχ. 1 β) γ) Εγκάρσιος Διατμητικός Τύπος-ΙΙΙ (Tearing Mode ή Mode III): Αντιστοιχεί στην εγκάρσια διάτμηση και προκύπτει όταν τα χείλη της ρωγμής διαχωρίζονται προς αντίθετες εγκάρσιες διευθύνσεις εξαιτίας της επιδράσεως ίσων και αντίθετων δυνάμεων κάθετων στο επίπεδο του σώματος. (Σχ. 1 γ). 16

17 Σχήμα 1 Είδη Ρωγμών Η συγκεκριμένη εφαρμογή που βελτιστοποιείται σε αυτή την εργασία υπολογίζει τη διάδοση ρωγμής και συγκεκριμένα της ρωγμής Mode III. 2.2 FORTRAN Η γλώσσα Fortran (από τα αρχικά FORmulae TRANslator - μεταφραστής τύπων) είναι μία από τις πρώτες γλώσσες προγραμματισμού υψηλού επιπέδου, η οποία χρησιμοποιήθηκε κυρίως σε επιστημονικές αλλά και σε ε- μπορικές εφαρμογές. Δημιουργήθηκε τη δεκαετία του 1950 από την ΙΒΜ και χρησιμοποιείται μέχρι και σήμερα. Αρχικά η Fortran ήταν προσανατολισμένη στην επίλυση μαθηματικών προβλημάτων. Η εφαρμογή που εξετάζεται σε αυτή την εργασία είναι γραμμένη σε Fortran77. Γενικά η συγκεκριμένη γλώσσα προγραμματισμού έχει καλύτερη απόδοση σε σχέση με άλλες γλώσσες (για παράδειγμα C ή C++) όταν αντιμετωπίζουμε 17

18 ένα πρόβλημα με πράξεις μεταξύ πινάκων προκαθορισμένων διαστάσεων και υποστηρίζει πράξεις μονής και διπλής ακρίβειας. 2.3 Βιβλιοθήκη LAPACK Η LAPACK είναι μια βιβλιοθήκη λογισμικού για αριθμητική γραμμική άλγεβρα. Παρέχει ρουτίνες για την επίλυση συστημάτων γραμμικών εξισώσεων και γραμμικών ελαχίστων τετραγώνων, προβλήματα ιδιοτιμών και ιδιαζουσών τιμών. Περιλαμβάνει επίσης ρουτίνες για την εφαρμογή των σχετικών παραγοντοποιήσεων πινάκων όπως LU, QR, Cholesky και Schur decomposition. Η LAPACK γράφτηκε αρχικά στη FORTRAN 77, αλλά μεταφέρθηκε στη Fortran 90 στην έκδοση 3.2 (2008). Οι ρουτίνες της μπορούν να χειριστούν απλούς και σύνθετους πίνακες με πράξεις απλής και διπλής ακρίβειας. Στην εφαρμογή μας χρησημοποιείται μία συγκεκριμένη ρουτίνα της LAPACK, η DGBSV. Η ρουτίνα αυτή υπολογίζει τη λύση για ένα πραγματικό σύστημα γραμμικών εξισώσεων A*X = B όπου A είναι ένας band πίνακας τάξης N, με KL υποδιαγώνια και KU υπερδιαγώνια στοιχεία, ενώ X και B είναι N x NRHS πίνακες. Η LU παραγοντοποίηση, με μερική αντικατάσταση και εναλλαγές γραμμών, χρησημοποιείται για να εκφραστεί ο πίνακας A ως A = L*U, όπου L είναι ένας κάτω τριγωνικός πίνακας με KL υποδιαγώνια στοιχεία και U ένας άνω τριγωνικός πίνακας με KL+KU υπερδιαγώνια στοιχεία. Η παραπάνω μορφή του A χρησημοποιείται για την επίλυση του συστήματος των εξισώσεων της A*X = B. Πιο αναλυτικά, η ρουτίνα: SUBROUTINE DGBSV ( N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO) 18

19 Όπου INFO, KL, KU, LDAB, N, NRHS ακέραιοι, IPIV πίνακας ακεραίων και AB, B πίνακες διπλής ακρίβειας. Ας δούμε όμως και λίγο περισσότερο τα ορίσματα, 1. N (είσοδος) ακέραιος, ο αριθμός των γραμμικών εξισώσεων, N>=0. 2. KL (είσοδος) ακέραιος, ο αριθμός των υποδιαγώνιων στοιχείων του band A, KL>=0. 3. KU (είσοδος) ακέραιος, ο αριθμός των υπερδιαγώνιων στοιχείων του band A, KU>=0. 4. NRHS (είσοδος) ακέραιος, ο αριθμός των στηλών του πίνακα B, NRHS>=0. 5. AB (είσοδος/έξοδος) πίνακας διπλής ακρίβειας, διαστάσεων (LDAB, N). Κατά την είσοδο, ο πίνακας Α σε band storage, στις σειρές KL +1 μέχρι 2* KL+KU+1. Η j-στη στήλη του Α αποθηκεύεται στη j-στη στήλη του πίνακα ΑΒ ως εξής: ΑΒ (KL + KU+1+ i - j, j ) = Α (i, j) για max(1, j-ku) <= i <= min (Ν, j + KL). Kατά την έξοδο, λεπτομέρειες της παραγοντοποίησης: o U αποθηκεύεται ως ένας άνω τριγωνικός band πίνακας με KL + KU + 1 υπερδιαγώνια στοιχεία στις σειρές 1 έως KL + KU +1, και οι πολλαπλασιαστές που χρησιμοποιούνται κατά τη διάρκεια της παραγοντοποίησης αποθηκεύονται στις σειρές KL + KU + 2 έως 2*KL+KU LDAB (είσοδος) ακέραιος, ο αριθμός γραμμών του πίνακα AB, LDAB>=2*KL+KU+1. 19

20 7. IPIV (είσοδος) πίνακας ακεραίων, διάσταση (N), χρησημοποιείται για εναλλαγές και μεταθέσεις. 8. B (είσοδος/έξοδος) πίνακας διπλής ακρίβειας, διαστάσεων (LDB, NRHS). Κατά την είσοδο είναι ο NxNRHS πίνακας B στο δεξιό μέλος του συστήματος. Κατά την έξοδο (αν INFO = 0)είναι ο NxNRHS πίνακας X που είναι και η λύση του συστήματος. 9. LDB (είσοδος) ακέραιος, ο αριθμός γραμμών του πίνακα B, LDB >= max (1, N). 10. INFO (έξοδος) ακέραιος, αν είναι ίσο με 0 τότε επιτυχείς έξοδος. Αν είναι μικρότερο του 0 (INFO = -i) τότε το i-στο όρισμα έχει μη αποδεκτή τιμή. Αν είναι μεγαλύτερο του 0 (INFO = i) τότε το U( i, i)=0, η παραγοντοποίηση έχει γίνει αλλά η λύση δεν έχει υπολογιστεί. 20

21 3 Μετατροπή σε γλώσσα C Η μετατροπή του κώδικα της Fortran σε γλώσσα C έγινε για να έχουμε μια πιο ευανάγνωστη εφαρμογή η οποία θα μεταγλωττιστεί με σύγχρονους μεταγλωττιστές με σημαντικές προοπτικές βελτιστοποίησης αφήνοντας πίσω τους παλιότερους μεταγλωττιστές της Fortran αλλά και τους αυστηρούς κανόνες σύνταξης της γλώσσας που δεν αφήνουν και πολλά περιθώρια βελτιστοποίησης, τουλάχιστον σε σύγκριση με την παραλληλοποίηση που θα παρουσιάσουμε αργότερα. 3.1 Ενσωμάτωση της LAPACK Η αρχική σκέψη ήταν ο κώδικας της C να γραφτεί στο εργαλείο της Microsoft το Microsoft Visual Studio και να προστεθούν εκεί όλα τα αρχεία που θα μας επέτρεπαν να χρησημοποιήσουμε την βιβλιοθήκη LAPACK. Στην πορεία, και μετά από αρκετή σκέψη, ο κώδικας C γράφτηκε σε UNIX όπου τα αντίστοιχα πακέτα που επιτρέπουν την χρήση της LAPACK σε ένα πρόγραμμα C είναι πιο εύκολο να εγκατασταθούν και να συνδεθούν. Τα πακέτα που χρησημοποιήθηκαν είναι τα : liblapack-dev liblapack3gf Με την εγκατάσταση των πακέτων θεωρητικά αρκεί η προσθήκη της εντολής llapack κατά την μεταγλώττιση έτσι ώστε να μπορούμε να κάνουμε χρήση της DGBSV( ) που χρειαζόμαστε στην εφαρμογή μας. Όμως ο μεταγλωττιστής gcc δεν αναγνωρίζει το κομμάτι του προγράμματος όπου καλείται η DGBSV( ). Με την προσθήκη τριών εντολών που εμφανίζονται παρακάτω και την χρήση του g++ αυτή τη φορά ο μεταγλωττιστής καταλαβαίνει την κλήση μιας ρουτίνας της βιβλιοθήκης LAPACK και έτσι πρακτικά η υλοποίηση μπορεί να συνεχιστεί. 21

22 Σχήμα 2 Απόσπασμα Κώδικα μετά την Μετατροπή 3.2 Μεταγλώττιση Για τη μεταγλώττιση του προγράμματος, συμπεριλαμβανομένης της συνάρτησης DGBSV( ), όπως τμηματικά αναφέρθηκε παραπάνω χρησημοποιήθηκε η εντολή : Σχήμα 3 Εντολή από τερματικό για C++ Όμως για να είναι επιτυχής η μεταγλώττιση του προγράμματος έπρεπε να αλλάξουν κάποιες συναρτήσεις που αφορούν κυρίως σε τρι- 22

23 γωνομετρία, άλγεβρα και να προστεθούν αντίστοιχες βιβλιοθήκες. Για παράδειγμα η εντολή ** που στη Fortran αντιστοιχεί στην ύψωση σε δύναμη, στη C πρέπει να χρησημοποιήσουμε την συνάρτηση pow( ) της βιβλιοθήκης math. Αν παρατηρήσουμε την εφαρμογή βλέπουμε ότι στην πραγματικότητα το πρόγραμμα είναι μια αρκετά μεγάλη προεργασία που περιλαμβάνει πράξεις μεταξύ πινάκων και όχι μόνο, με σκοπό την δημιουργία των εισόδων για την ρουτίνα DGBSV( ) που επιλύει το σύστημά μας στο τέλος. Δηλαδή, μπορούμε να δούμε το πρόγραμμά μας σαν δύο υποπρογράμματα που το πρώτο είναι υλοποιημένο σε C και το δεύτερο είναι μια κλήση ρουτίνας. Οπότε αργότερα, όταν μιλήσουμε για βελτιστοποίηση, θα αναφερθούμε στο πρώτο υποπρόγραμμα το οποίο μπορεί να μελετηθεί ξεχωριστά και να παραλληλοποιηθεί (μέρος αυτού). Με τη λογική ότι θα χρειαστούμε να μελετήσουμε χρόνους σε αυτό το κομμάτι του προγράμματος και για την μελέτη αυτή θα χρησημοποιήσουμε τον GNU profiler του gcc, μπορούμε να μεταγλωττίσουμε ξεχωριστά το υποπρόγραμμα αυτό. Η εντολή για την μεταγλώττιση αυτή είναι : Σχήμα 4 Εντολή απ ο τερματικό για C 23

24 3.3 Δέσμευση Μνήμης Η Fortran γενικότερα δουλεύει να προκαθορισμένα μεγέθη πινάκων. Όμως, στη C μας δίνεται η δυνατότητα της δυναμικής δέσμευσης μνήμης. Χρησημοποιώντας την εντολή malloc μπορούμε να δεσμεύσουμε δυναμικά χώρο στη μνήμη και να περνάμε το εκάστοτε μέγεθος των πινάκων που θέλουμε σαν ορίσματα κατα το τρέξιμο αλλά και σαν πληροφορία από το αρχείο εισόδου που θα έχουμε κάθε φορά. Έτσι ουσιαστικά κάνουμε την εφαρμογή μας πιο ευέλικτη και εύχρηστη. 4 Παραλληλοποίηση Η συνολική προεργασία που γίνεται για να δημιουργηθούνε τα ορίσματα της συνάρτησης DGBSV( ) έτσι ώστε να γίνει η επίλυση του συστήματος A*X = B είναι ουσιαστικά πράξεις μεταξύ πινάκων που εκτελούνται σειριακά. Στόχος αυτής της διπλωματικής εργασίας είναι να επιταχυνθεί αυτή η προεργασία, κάτι που θα μας οδηγήσει στην επιτάχυνση της ε- φαρμογής στο σύνολό της. 4.1 Γενικά Εποχή SINGLE CORE Την περασμένη δεκαετία ο πρωταρχικός στόχος της βιομηχανίας υπολογιστών ήταν η απόδοση. Την μέγιστη αυτή απόδοση προσπαθούσαν 24

25 να την πετύχουν βάζοντας όλο και περισσότερα transistors πάνω στο chip, αυξάνοντας τη συχνότητα του ρολογιού και δημιουργώντας καινούργιες βελτιστοποιημένες αρχιτεκτονικές. Σχήμα 5 Αρχιτεκτονική Απλού Πυρήνα Επιβεβαιώνοντας το νόμο του Moore, ο οποίος προέβλεψε ότι ο αριθμός των transistor πάνω στο chip θα διπλασιάζονταν κάθε 18 μήνες, η πυκνότητα των transistors αυξήθηκε κατά πολύ τα τελευταία σαράντα χρόνια και η απόδοση μεγάλωνε συνεχώς. Όμως, βάζοντας όλο και περισσότερα transistors, εκτός από την απόδοση αυξήθηκε και η κατανάλωση ρεύματος αλλά και η θερμότητα η οποία από ένα σημείο και μετά θα μπορούσε να καταστρέψει το chip. Έτσι, εκτιμήθηκε ότι κάποια στιγμή θα έπρεπε να κρατάμε κάποια transistors σβηστά (dark) όταν κάποια άλλα θα χρησημοποιούνται για διάφορες λειτουργίες (φαινόμενο dark silicon). Επίσης, η θεωρία ότι όσο μεγαλύτερη συχνότητα έχει ο επεξεργαστής τόσο πιο αποδοτικός είναι έφτασε το άνω όριο μιας και από ένα σημείο και πάνω όσο και να αυξηθεί η συχνότητα, η απόδοση παραμένει ίδια. Τέλος, η περαιτέρω βελτιστοποίηση του ILP έγινε σχεδόν αδύνατη. Οπότε αντί να έχουμε μικρότερους, αποδοτικότερους 25

26 και λιγότερο απαιτητικούς σε κατανάλωση ρεύματος πυρήνες φτάσαμε να έχουμε θερμότερους και πολύ απαιτητικούς. Σχήμα 6 Σχέση transistor-on-chip και έτους Εποχή MULTICORE Επόμενο ήταν να κυριαρχήσει μια νέα ιδέα που έλυνε τα παραπάνω προβλήματα και συνέχιζε να αυξάνει την απόδοση. Η ιδέα αυτή ήταν να χρησημοποιηθούν περισσότεροι πυρήνες σε έναν επεξεργαστή οι οποίοι θα χρονίζονται σε μικρότερες συχνότητες αλλά θα εκτελούν εντολές παράλληλα, ανεβάζοντας την απόδοση. Οι χαμηλές συχνότητες αυτές μείωσαν κατά πολύ την κατανάλωση ενέργειας αλλά προσωρινά. Ο αριθμός των transistors συνεχίζει να αυξάνεται και το φαινόμενο dark silicon που 26

27 αναφέρθηκε και παραπάνω είναι ορατό. Ακόμα, οι μετάβαση από τον ένα πηρύνα στους περισσότερους άλλαξε τη φιλοσοφία των προγραμματιστών που τώρα δεν προσπαθούν να βελτιστοποιήσουν τον σειριακό κώδικα, αλλά προσπαθούν να παραλληλοποιήσουν κομμάτια της εφαρμογής έτσι ώστε να έχουν καλύτερο συνολικό χρόνο υλοποίησης. Σχήμα 7 Κάθε πυρήνας ένα thread. 4.2 MANYCORES GPUs - CUDA Η GPU είναι ένα manycore σύστημα το οποίο αποτελείται από μεγάλο αριθμό πυρήνων. Οι κάρτες γραφικών αρχικά σχεδιάστηκαν σαν συσκευές για την ε- πεξεργασία και την οπτικοποίηση γραφικών του υπολογιστή. Όταν το 1990 το υλικό ( hardware ) έγινε προγραμματίσιμο, η εταιρία κατασκευής υλικού NVIDIA εκμεταλλεύτηκε αυτή την ευκαιρία και εφάρμοσε τη νέα 27

28 αυτή ικανότητα του hardware πάνω στις κάρτες γραφικών. Στη συνέχεια, το 1999, επινόησε τον όρο GPU ( Graphics Processing Unit ) και μια νέα εποχή, αποκαλούμενη ως GPGPU ( General Purpose GPU ), μόλις είχε ξεκινήσει. Η πρώτη επίσημη λύση της εν λόγω εταιρίας για υποστήριξη κώδικα εκτέλεσης σε GPUs δημοσιεύθηκε το 2006, όπου έγινε και η αποκάλυψη του μοντέλου παράλληλου προγραμματισμού CUDA ( Compute Unified Device Architecture ). Με την χρήση των δυνατοτήτων παράλληλης εκτέλεσης που προσφέρει η αρχιτεκτονική των GPUs, το εν λόγω μοντέλο μπορεί να αυξήσει πολύ έντονα την απόδοση των υπολογισμών που πραγματοποιούνται στην κάρτα γραφικών, σημειώνοντας σημαντικά μικρότερους χρόνους εκτέλεσης αυτών. Σε αυτό συμβάλλει η επικοινωνία που γίνεται ανάμεσα σε GPU και CPU ( Central Processing Unit ), έτσι ώστε να ανατεθεί η επίπονη χρονικά επεξεργασία των δεδομένων από την CPU στην κάρτα γραφικών. Μέσω αυτού, παρατηρείται και αποδεικνύεται ότι είναι προτιμότερη η ύπαρξη πολλών παράλληλων μονάδων εκτέλεσης χαμηλής ταχύτητας επεξεργασίας ( GPU threads ) από εκείνη των ελάχιστων παράλληλων μονάδων εκτέλεσης υψηλής ταχύτητας επεξεργασίας ( CPU threads ). Σχήμα 8 Διαφορές αρχιτεκτονικής CPU και GPU 28

29 Η πρώτη σειρά καρτών γραφικών της NVIDIA, η οποία σχεδιάστηκε για το μοντέλο CUDA, ήταν αυτή των G8x. Άλλες νεότερες σειρές καρτών που βγάζει η εν λόγω εταιρία είναι οι GeForce, Tesla, Quadro. Στο μοντέλο CUDA υπάρχουν οι παρακάτω βασικές έννοιες. Με τον όρο threads αναφερόμαστε στις μονάδες παράλληλης εκτέλεσης / νήματα.με τον όρο blocks αναφερόμαστε σε ένα σύνολο από threads.με τον όρο grid κάνουμε λόγο για ένα σύνολο από blocks. Ο αριθμός των διαστάσεων ενός grid μπορεί να είναι μέχρι τρεις και μας δείχνει τον αριθμό των blocks που δεσμεύονται για κάθε διάσταση. Το συγκεκριμένο μοντέλο χρησιμοποιεί μια επέκταση των γλωσσών C και C++, επιτρέποντας με αυτόν τον τρόπο τον προγραμματισμό συναρτήσεων που μπορούν να εκτελεστούν στη GPU (οι συναρτήσεις αυτές αποκαλούνται kernels). Οι πολλαπλοί πυρήνες τις GPU συσσωρεύονται σε ένα υψηλότερο επίπεδο διαστρωμάτωσης ως πολυεπεξεργαστές ροής ( streaming multiprocessors ). Κάθε SM περιέχει 32 πυρήνες CUDA, οι οποίοι μοιράζονται όλοι μαζί από κοινού τους καταχωρητές, τις κρυφές μνήμες, την τοπική μνήμη και τις μονάδες φόρτωσης και αποθήκευσης του SM. Οι 32 πυρήνες cuda που διαθέτει κάθε SM λειτουργούν ως μια ομάδα που μοιράζεται τους ίδιους πόρους και έχει σχεδιαστεί να διαχειρίζεται ταυτόχρονα 32 ίδιες εντολές διαφορετικών δεδομένων από ένα σύνολο 32 νημάτων, το οποίo ονομάζεται warp. Επιπρόσθετα, στις νέες αρχιτεκτονικές, δύο διαφορετικά warps μπορούν να εκτελεστούν ταυτόχρονα στον ίδιο SM, καθώς τώρα ο χρονοπρογραμματιστής ( scheduler ) του hardware της GPU μπορεί να εισάγει δύο διαφορετικές εντολές ανά χτύπο ρολογιού. 29

30 Σχήμα 9 Πολλοί πυρήνες πολλά threads Τα threads που ανήκουν στο ίδιο block μπορούν να μοιράσουν δεδομένα μεταξύ τους μέσω μια γρήγορης κοινής μνήμης που υπάρχει ανάμεσά τους ( shared memory ). Επίσης για την ίδια κατηγορία threads, υπάρχουν κατάλληλα φράγματα ( barriers ) μέσω των οποίων είναι εφικτός ο συγχρονισμός της παράλληλης εκτέλεσής τους. Αντίθετα, threads μεταξύ διαφορετικών blocks, μπορούν να ανταλλάξουν δεδομένα μόνο μέσω μιας αργής κοινής μνήμης ( global memory ). Για τον συγχρονισμό της δεύτερης κατηγορίας threads δεν υπάρχουν έτοιμες ρουτίνες διαχείρισης που να προσφέρει το μοντέλο και απαιτείται παρέμβαση του προγραμματιστή για την υλοποίηση δικών του ρουτινών συγχρονισμού που θα του αποδώσουν το ζητούμενο αποτέλεσμα. Η λειτουργία ενός SM μπορεί να συνοψιστεί με τον ακόλουθο τρόπο. Κάθε SM μπορεί να διαχειριστεί μέχρι 48 warps, όπου κάθε warp όπως αναφέρθηκε αποτελείται από μια ομάδα 32 νημάτων. Επομένως, κάθε SM μπορεί να διαχειριστεί μέχρι νήματα. Όπως είναι φυσικό με όσα αναφέρθηκαν προηγουμένως, δεν μπορεί να υπάρξει ταυτόχρονη εκτέλεση και των νημάτων, αλλά χρειάζεται να υπάρχουν ανά πάσα στιγμή όσο το δυνατόν περισσότερα ενεργά / απασχολημένα νήματα για την επίτευξη μεγάλου παραλληλισμού. Κάτι τέτοιο πρέπει να συμβαίνει διότι όταν ένα warp εκτελεί μια εντολή πρόσβασης σε μνήμη και περιμένει το αποτέλεσμά της, ο χρονοπρογραμματιστής νημάτων ( 30

31 thread scheduler ) την ίδια στιγμή επιλέγει ένα άλλο έτοιμο προς εκτέλεση warp και με αυτόν τον τρόπο κρύβεται / καλύπτεται η καθυστέρηση πρόσβασης. Όλη αυτή η διαδικασία έχει σαν αποτέλεσμα να εκτελείται ανά πάσα στιγμή, ταυτόχρονα, ο μέγιστος αριθμός νημάτων που μπορεί να υποστηρίξει η εκάστοτε GPU. Σχήμα 10 Streaming Multiprocessor αρχιτεκτονικής Fermi 31

32 4.2.2 Παραλληλοποίηση της εφαρμογής μας Ουσιαστικά η εφαρμογή μας χωρίζεται σε δύο μέρη. Στο δέυτερο μέρος έχουμε την επίλυση ενός συστήματος A*X = B, ενώ στο πρώτο έχουμε την είσοδο των στοιχείων του προβλήματος και την προεργασία των A και B. Η επίλυση του συστήματος γίνεται με τη χρήση μιας συνάρτησης της βιβλιοθήκης Lapack και καταναλώνει έναν σημαντικό μέρος του συνολικού χρόνου. Αυτή η εργασία όμως ασχολείται με το πρώτο μέρος, δηλαδή γίνεται μια προσπάθεια επιτάχυνσης της διαδικασίας παραγωγής των στοιχείων που θα δοθούν ως είσοδοι στη ρουτίνα της Lapack. Κάνοντας profile την εφαρμογή μας ( αγνοούμε το κομμάτι της Lapack μιας και αυτός ο χρόνος θα είναι σταθερός) παρατηρούμε ότι η συνάρτηση που υπολογίζει τα εσωτερικά γινόμενα διανυσμάτων( MULT) καλείται επαναληπτικά αρκετές φορές και καταναλώνει σημαντικό κομμάτι του συνολικού χρόνου. Μάλιστα, καλείται μέσω μια άλλης συνάρτησης(assens) η οποία καλείται τόσες φορές όσα, σχεδόν, είναι και τα στοιχεία εισόδου. Η ιδέα είναι αρχικά να μετασχηματίσουμε την MULT ώστε να πραγματοποιεί πολλαπλό υπολογισμό εσωτερικών γινομένων σε κάθε επανάληψη της ASSENS. Αφού τρέξουμε αυτή την υλοποίηση σε περισσότερους του ενός πυρήνες μιας CPU παράλληλα, μπορούμε να αναθέσουμε τους υπολογισμούς αυτούς σε threads μιας GPU και να δούμε αν θα πάρουμε καλύτερους χρόνους ή αν οι πολλαπλές δημιουργίες kernels θα κοστίσουν περισσότερο. 32

33 5 Πειραματικά αποτελέσματα Παρακάτω παρουσιάζονται οι χρόνοι εκτέλεσης της εφαρμογής μας χωρίς τον χρόνο επίλυσης του συστήματος A*X = B, καθώς αυτό υπολογίζεται σε καθορισμένο χρόνο από τη DGBSV( ) : SINGLE-CORE υλοποίηση, Σχήμα 11 Σειριακή Υλοποίηση 33

34 MULTI-CORE υλοποίηση, Σχήμα 12 Υλοποίηση σε multicore σύστημα 34

35 GPU-CUDA υλοποίηση, Σχήμα 13 Υλοποίηση σε GPU 35

36 Πληροφορίες GPU στην οποία έγιναν οι δοκιμές, Σχήμα 14 Χαρακτηριστικά GPU Όπως παρατηρούμε, στην υλοποίηση σε multicore σύστημα, έχουμε μία ελαφριά επιτάχυνση που οφείλεται στην παραλληλοποίηση της MULT η οποία έχει άμεσο αντίκτυπο στην ASSENS. Όμως, στην υλοποίηση σε GPU, παρατηρούμε πολύ μεγαλύτερη επιτάχυνση στις συναρτήσεις που προαναφέρθηκαν συνεπώς και στο σύνολο του προγράμματός μας. Οι χρόνοι αυτοί είναι αποτέλεσμα εισόδου πίνακα 1,280,000 στοιχείων. Σε πολλές μηχανολογικές εφαρμογές οι είσοδοι μπορεί να είναι πολύ μεγαλύτερες από αυτή που χρησημοποιήσαμε για τις μετρήσεις μας. 36

37 6 Επίλογος Συμπεράσματα Αυτό που ουσιατικά βλέπουμε είναι ότι έχουμε επιτάχυνση της εφαρμογής μας η οποία εξερτάται σε μεγάλο βαθμό από το πλήθος των στοιχείων εισόδου. Δηλαδή όσο μεγαλύτερη είναι η είσοδος στο πρόγραμμα τόσο περισσότερη θα είναι και η επιτάχυνση που θα βλέπουμε σε σύγκριση με την singlecore αλλά και την multicore υλοποίηση. Βέβαια, η εφαρμογή μπορεί να επιταχυνθεί ακόμα περισσότερο. Για να έχουμε αυτή τη δυνατότητα πρέπει να εστιάσουμε στην αντικατάσταση της συνάρτησης DGBSV( ) που επιλύει το τελικό σύστημα. Η νέα αυτή συνάρτηση μπορεί να επιδέχεται παραλλήλοποίηση σε μεγάλο βαθμό και έτσι να δούμε συνολικά ακόμα μικρότερο χρόνο εκτέλεσης. 37

38 7 Βιβλιογραφία [1] [2] Α. Νικολακάκης, Ανάλυση και σχεδιασμός ηλεκτρικού αισθητήρα γωγμών οδοντωτών τροχών με τη μέθοδο των πεπερασμένων στοιχείων, Αθήνα, [3] Λ. Κέππας, Πρόβλεψη μη Γραμμικής Συμπεριφοράς και Διάδοσης Ρωγμής σε Συνθήκες Θερμομηχανικής Κόπωσης με τη Μέθοδο των Συνοριακών Στοιχείων, Πάτρα, [4] Ι. Διαμαντάκος, Πρόβλεψη δημιουργίας, διάδοσης και συνένωσης ρωγμών σε αεροπορικά δομικά στοιχεία με πολλαπλή βλάβη, Πάτρα, [5] J. Sanders και E. Kandrot, Cuda by Example, NVIDIA. [6] S. B. Baden, Parallel Computation(lecture slides), [7] Χ. Αντωνόπουλος, Συστήματα Υψηλών Επιδόσεων, Βόλος, [8] H. Esmaeilzadeh, E. Blem, R. S. Amant, K. Sankaralingam και D. Burger, Dark Silicon and the End of Multicore Scaling, ISCA, [9] A brief history of microprocessors: [10] D. Kirk και W.-m. Hwu, Προγραμματισμός Μαζικά Παράλληλων Επεξεργαστών, [11] C. Lin και L. Snyder, Principles of Parallel Programming, Addison Wesley, [12] [13] M. Ashby και K. Johnson, Υλικά και Σχεδιασμός, [14] 38

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές

Διαβάστε περισσότερα

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ

Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ Παράλληλος προγραμματισμός περιστροφικών αλγορίθμων εξωτερικών σημείων τύπου simplex ΠΛΟΣΚΑΣ ΝΙΚΟΛΑΟΣ Διπλωματική Εργασία Μεταπτυχιακού Προγράμματος στην Εφαρμοσμένη Πληροφορική Κατεύθυνση: Συστήματα Υπολογιστών

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Προσομοίωση μεγάλης κλίμακας γραμμικών κυκλωμάτων σε παράλληλες πλατφόρμες Ειδικό Θέμα Ιωαννίδης Κ. Σταύρος Αριθμός Ειδικού Μητρώου:

Διαβάστε περισσότερα

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός

Διαβάστε περισσότερα

Παράλληλος Προγραμματισμός με OpenCL

Παράλληλος Προγραμματισμός με OpenCL Παράλληλος Προγραμματισμός με OpenCL Συστήματα Παράλληλης Επεξεργασίας 9ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Δεκέμβριος 2017 1 Γενικά για OpenCL 2 Platform Model 3 Execution Model

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί Χαρμανδάρης Βαγγέλης, Τμήμα Εφαρμοσμένων Μαθηματικών Πανεπιστήμιο Κρήτης, Εαρινό Εξάμηνο 2013/14 Κεφάλαιο 3: Θεωρία Παράλληλου Προγραμματισμού

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Αρχιτεκτονική Υπολογιστών Παραλληλισμός Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic,

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΕΠΙΛΥΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕΤΑΔΟΣΗΣ ΣΕ ΑΣΥΡΜΑΤΑ ΔΙΚΤΥΑ ΜΕ ΣΥΣΚΕΥΕΣ ΔΙΑΚΡΙΤΩΝ ΤΙΜΩΝ ΙΣΧΥΟΣ ΜΕ ΤΗ ΧΡΗΣΗ

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΠΑΡΑΛΛΗΛΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ 9o εξάμηνο ΗΜΜΥ, ακαδημαϊκό έτος

ΣΥΣΤΗΜΑΤΑ ΠΑΡΑΛΛΗΛΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ 9o εξάμηνο ΗΜΜΥ, ακαδημαϊκό έτος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΞΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr ΣΥΣΤΗΜΑΤΑ

Διαβάστε περισσότερα

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC Πλεονεκτήματα MPSoC Είναι ευκολότερο να σχεδιαστούν πολλαπλοί πυρήνες επεξεργαστών από τον σχεδιασμό ενός ισχυρότερου και πολύ πιο σύνθετου μονού επεξεργαστή.

Διαβάστε περισσότερα

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή 1 Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή μνήμη(cache). Η cache είναι πολύ σημαντική, πολύ γρήγορη,

Διαβάστε περισσότερα

QuakeTM: Parallelizing a Complex Sequential Application Using Transactional Memory (Gajinov et al., 2009)

QuakeTM: Parallelizing a Complex Sequential Application Using Transactional Memory (Gajinov et al., 2009) Quake I QuakeTM: Parallelizing a Complex Sequential Application Using Transactional Memory (Gajinov et al., 2009) Είναι όντως χρήσιμη η transactional memory σε μεγάλες εφαρμογές; Παράλληλη υλοποίηση μιας

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Γ ) Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. Άσκηση 5: Παράλληλος προγραμματισμός σε επεξεργαστές γραφικών

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. Άσκηση 5: Παράλληλος προγραμματισμός σε επεξεργαστές γραφικών ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Συστήματα Παράλληλης

Διαβάστε περισσότερα

GPU. CUDA GPU GeForce GTX 580 GPU 2.67GHz Intel Core 2 Duo CPU E7300 CUDA. Parallelizing the Number Partitioning Problem for GPUs

GPU. CUDA GPU GeForce GTX 580 GPU 2.67GHz Intel Core 2 Duo CPU E7300 CUDA. Parallelizing the Number Partitioning Problem for GPUs GPU 1 1 NP number partitioning problem Pedroso CUDA GPU GeForce GTX 580 GPU 2.67GHz Intel Core 2 Duo CPU E7300 CUDA C Pedroso Python 323 Python C 12.2 Parallelizing the Number Partitioning Problem for

Διαβάστε περισσότερα

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας 4.1 Γενικά Ο υπολογιστής επεξεργάζεται δεδομένα ακολουθώντας βήμα βήμα, τις εντολές ενός προγράμματος. Το τμήμα του υπολογιστή, που εκτελεί τις εντολές και συντονίζει

Διαβάστε περισσότερα

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Συστήματα Παράλληλης

Διαβάστε περισσότερα

Εισαγωγή στην Αριθμητική Ανάλυση

Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στην Αριθμητική Ανάλυση Εισαγωγή στη MATLAB ΔΙΔΑΣΚΩΝ: ΓΕΩΡΓΙΟΣ ΑΚΡΙΒΗΣ ΒΟΗΘΟΙ: ΔΗΜΗΤΡΙΑΔΗΣ ΣΩΚΡΑΤΗΣ, ΣΚΟΡΔΑ ΕΛΕΝΗ E-MAIL: SDIMITRIADIS@CS.UOI.GR, ESKORDA@CS.UOI.GR Τι είναι Matlab Είναι ένα περιβάλλον

Διαβάστε περισσότερα

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 6-7 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας

Διαβάστε περισσότερα

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

Διαβάστε περισσότερα

All Pairs Shortest Path

All Pairs Shortest Path All Pairs Shortest Path χρησιμοποιώντας Κυπριώτη Αικατερίνη 6960 Μόσχογλου Στυλιανός 6978 20 Ιανουαρίου 2012 Περιεχόμενα 1 Πρόλογος 3 2 Ο σειριακός APSP 3 3 Η παραλληλοποίηση με 5 3.1 Το προγραμματιστικό

Διαβάστε περισσότερα

Αριθµητικές Μέθοδοι Collocation. Απεικόνιση σε Σύγχρονες Υπολογιστικές Αρχιτεκτονικές

Αριθµητικές Μέθοδοι Collocation. Απεικόνιση σε Σύγχρονες Υπολογιστικές Αρχιτεκτονικές Αριθµητικές Μέθοδοι Collocation Απεικόνιση σε Σύγχρονες Υπολογιστικές Αρχιτεκτονικές Hermite Collocation Method BVP L B uxy (, ) = f(, xy), (, xy) Ω uxy (, ) = gxy (, ), (, xy) Ω Red Black Collocation

Διαβάστε περισσότερα

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

ΟΙΚΟΝΟΜΟΤΕΧΝΙΚΗ ΑΝΑΛΥΣΗ ΕΝΟΣ ΕΝΕΡΓΕΙΑΚΑ ΑΥΤΟΝΟΜΟΥ ΝΗΣΙΟΥ ΜΕ Α.Π.Ε Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. ΟΙΚΟΝΟΜΟΤΕΧΝΙΚΗ ΑΝΑΛΥΣΗ ΕΝΟΣ ΕΝΕΡΓΕΙΑΚΑ ΑΥΤΟΝΟΜΟΥ ΝΗΣΙΟΥ ΜΕ Α.Π.Ε Πτυχιακή Εργασία Φοιτητής: Γεμενής Κωνσταντίνος ΑΜ: 30931 Επιβλέπων Καθηγητής Κοκκόσης Απόστολος Λέκτορας

Διαβάστε περισσότερα

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους

Διαβάστε περισσότερα

GPGPU. Grover. On Large Scale Simulation of Grover s Algorithm by Using GPGPU

GPGPU. Grover. On Large Scale Simulation of Grover s Algorithm by Using GPGPU GPGPU Grover 1, 2 1 3 4 Grover Grover OpenMP GPGPU Grover qubit OpenMP GPGPU, 1.47 qubit On Large Scale Simulation of Grover s Algorithm by Using GPGPU Hiroshi Shibata, 1, 2 Tomoya Suzuki, 1 Seiya Okubo

Διαβάστε περισσότερα

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 10 η : Βελτιστοποιήσεις Τοπικότητας και Παραλληλισμού: Εξαρτήσεις και Μετασχηματισμοί Βρόχων Επεξεργασία Πινάκων Παραλληλισμός επιπέδου βρόχου Λόγω παραλληλισμού δεδομένων Επιτυγχάνεται

Διαβάστε περισσότερα

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Συστήματα Παράλληλης Επεξεργασίας 9ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Δεκέμβριος 2015 Περιεχόμενα 2 01 / 2014 Προγραμματισμός

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

ΠΡΟΒΛΗΜΑ ΕΠΕΓΕΡΓΑΣΙΑ. (Είναι οι σκέψεις και οι πράξεις που κάνουμε για να λυθεί το πρόβλημα) ΕΙΣΟΔΟΥ - ΕΞΟΔΟΥ

ΠΡΟΒΛΗΜΑ ΕΠΕΓΕΡΓΑΣΙΑ. (Είναι οι σκέψεις και οι πράξεις που κάνουμε για να λυθεί το πρόβλημα) ΕΙΣΟΔΟΥ - ΕΞΟΔΟΥ 1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Μάθημα: Ενότητα: Πληροφορική Α' Γυμν. Το Υλικό του Υπολογιστή ΠΡΟΒΛΗΜΑ ΔΕΔΟΜΕΝΑ (Είναι τα στοιχεία που δίνουμε για λυθεί το πρόβλημα) ΕΠΕΓΕΡΓΑΣΙΑ (Είναι οι σκέψεις και οι πράξεις που

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας

Διαβάστε περισσότερα

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ 2.3.1.1. Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ 1 περιλαμβάνει: Η έννοια του προγράμματος Επίλυση προβλήματος 1. Ακριβή προσδιορισμό

Διαβάστε περισσότερα

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

Διαβάστε περισσότερα

Κεφάλαιο 3. Διδακτικοί Στόχοι

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

Διαβάστε περισσότερα

Προγραμματισμός GPUs μέσω του περιβάλλοντος CUDA

Προγραμματισμός GPUs μέσω του περιβάλλοντος CUDA Προγραμματισμός GPUs μέσω του περιβάλλοντος CUDA Κωνσταντινίδης Ηλίας Υποψήφιος Διδάκτωρ Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Νόμος Moore density doubles/18m

Διαβάστε περισσότερα

Παράλληλος προγραμματισμός σε επεξεργαστές γραφικών

Παράλληλος προγραμματισμός σε επεξεργαστές γραφικών Παράλληλος προγραμματισμός σε επεξεργαστές γραφικών Συστήματα Παράλληλης Επεξεργασίας 9ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Νοέμβριος 2010 Περιεχόμενα...1 Σύντομη Ιστορική Αναδρομή...2

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΜΟΣ ΕΠΙΓΕΙΟΥ ΣΥΣΤΗΜΑΤΟΣ ΑΛΥΣΟΚΙΝΗΣΗΣ ΓΙΑ ΜΕΤΑΦΟΡΑ ΤΡΟΛΕΪ

ΣΧΕΔΙΑΣΜΟΣ ΕΠΙΓΕΙΟΥ ΣΥΣΤΗΜΑΤΟΣ ΑΛΥΣΟΚΙΝΗΣΗΣ ΓΙΑ ΜΕΤΑΦΟΡΑ ΤΡΟΛΕΪ ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΣΧΕΔΙΑΣΜΟΣ ΕΠΙΓΕΙΟΥ ΣΥΣΤΗΜΑΤΟΣ ΑΛΥΣΟΚΙΝΗΣΗΣ ΓΙΑ ΜΕΤΑΦΟΡΑ ΤΡΟΛΕΪ Μάριος Σταυρίδης Λεμεσός, Ιούνιος 2017 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,

Διαβάστε περισσότερα

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

Διαβάστε περισσότερα

Τυπικές χρήσεις της Matlab

Τυπικές χρήσεις της Matlab Matlab Μάθημα 1 Τι είναι η Matlab Ολοκληρωμένο Περιβάλλον Περιβάλλον ανάπτυξης Διερμηνευμένη γλώσσα Υψηλή επίδοση Ευρύτητα εφαρμογών Ευκολία διατύπωσης Cross platform (Wintel, Unix, Mac) Τυπικές χρήσεις

Διαβάστε περισσότερα

Παρουσίαση συλλογών υποπρογραμμάτων για γραμμική άλγεβρα: blas lapack

Παρουσίαση συλλογών υποπρογραμμάτων για γραμμική άλγεβρα: blas lapack Παρουσίαση συλλογών υποπρογραμμάτων για γραμμική άλγεβρα: blas lapack Σταμάτης Σταματιάδης Τμήμα Επιστήμης και Τεχνολογίας Υλικών, Πανεπιστήμιο Κρήτης blas Basic Linear Algebra Subprograms Υποπρογράμματα

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

ILP (integer linear programming) βασιζόμενη εξαρτώμενη από τους πόρους μεταγλώττιση

ILP (integer linear programming) βασιζόμενη εξαρτώμενη από τους πόρους μεταγλώττιση ILP (integer linear programming) βασιζόμενη εξαρτώμενη από τους πόρους μεταγλώττιση Γιατί χρησιμοποιείται μοντελοποίηση των περιορισμών με ακεραίους? Υπάρχουν ήδη εργαλεία για τον υπολογισμό και την χρήση

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

Διαβάστε περισσότερα

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Συστήματα Παράλληλης Επεξεργασίας 9ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Νοέμβριος 2017 1 Εισαγωγικά 2 Compute Unified Device

Διαβάστε περισσότερα

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

Διαβάστε περισσότερα

Παραλληλισµός Εντολών (Pipelining)

Παραλληλισµός Εντολών (Pipelining) ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Παραλληλισµός Εντολών (Pipelining) Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapter 3: Section 3.4,

Διαβάστε περισσότερα

ΛΟΓΙΣΜΙΚΟ (software)

ΛΟΓΙΣΜΙΚΟ (software) ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων

Διαβάστε περισσότερα

Σχολή Μηχανικής και Τεχνολογίας. Πτυχιακή διατριβή

Σχολή Μηχανικής και Τεχνολογίας. Πτυχιακή διατριβή Σχολή Μηχανικής και Τεχνολογίας Πτυχιακή διατριβή ΠΕΙΡΑΜΑΤΙΚΗ ΑΞΙΟΛΟΓΗΣΗ ΑΝΤΙΚΑΤΑΣΤΑΣΗΣ ΜΕΡΟΥΣ ΤΟΥ ΚΑΥΣΙΜΟΥ ΠΟΥ ΚΑΤΑΝΑΛΩΝΕΙ ΒΕΝΖΙΝΟΚΙΝΗΤΗΡΑΣ ΜΕ ΥΔΡΟΓΟΝΟ ΤΟ ΟΠΟΙΟ ΘΑ ΠΑΡΑΓΕΤΑΙ ΜΕ ΑΝΑΚΤΗΣΗ ΕΝΕΡΓΕΙΑΣ ΚΑΤΑ

Διαβάστε περισσότερα

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Συστήματα Παράλληλης Επεξεργασίας 9ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Φεβρουάριος 2014 Περιεχόμενα 1 Εισαγωγή 2 Επεξεργαστές

Διαβάστε περισσότερα

ΔΥΝΑΜΙΚΗ ΜΗΧΑΝΩΝ Ι

ΔΥΝΑΜΙΚΗ ΜΗΧΑΝΩΝ Ι Δυναμική Μηχανών Ι Ακαδημαϊκό έτος: 015-016 ΔΥΝΑΜΙΚΗ ΜΗΧΑΝΩΝ Ι - 1.1- Δυναμική Μηχανών Ι Ακαδημαϊκό έτος: 015-016 Copyright ΕΜΠ - Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο Δυναμικής και Κατασκευών - 015.

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΟΛΙΣΘΗΡΟΤΗΤΑ ΚΑΙ ΜΑΚΡΟΥΦΗ ΤΩΝ ΟΔΟΔΤΡΩΜΑΤΩΝ ΚΥΚΛΟΦΟΡΙΑΣ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΟΛΙΣΘΗΡΟΤΗΤΑ ΚΑΙ ΜΑΚΡΟΥΦΗ ΤΩΝ ΟΔΟΔΤΡΩΜΑΤΩΝ ΚΥΚΛΟΦΟΡΙΑΣ ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΟΛΙΣΘΗΡΟΤΗΤΑ ΚΑΙ ΜΑΚΡΟΥΦΗ ΤΩΝ ΟΔΟΔΤΡΩΜΑΤΩΝ ΚΥΚΛΟΦΟΡΙΑΣ Χριστοδούλου Αντρέας Λεμεσός 2014 2 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στο OpenMP Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed Systems Group Τι είναι το OpenMP Πρότυπο Επέκταση στη C/C++ και τη Fortran

Διαβάστε περισσότερα

Παραλληλισμός σε επίπεδο εντολών

Παραλληλισμός σε επίπεδο εντολών Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

Ηλεκτρονικός οδηγός για τους φοιτητές ενός Α.Ε.Ι.

Ηλεκτρονικός οδηγός για τους φοιτητές ενός Α.Ε.Ι. Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Ηλεκτρονικός οδηγός για τους φοιτητές ενός Α.Ε.Ι. Πτυχιιακή Εργασίία Φοιτητής: Δημήτριος Παπαοικονόμου ΑΜ: 36712

Διαβάστε περισσότερα

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. 5.1 Το ρολόι Κάθε μία από αυτές τις λειτουργίες της Κ.Μ.Ε. διαρκεί ένα μικρό χρονικό διάστημα. Για το συγχρονισμό των λειτουργιών αυτών, είναι απαραίτητο κάποιο ρολόι.

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Συστήματα Παράλληλης

Διαβάστε περισσότερα

υναµική Μηχανών Ι Ακαδηµαϊκό έτος : Ε. Μ. Π. Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών ΥΝΑΜΙΚΗ ΜΗΧΑΝΩΝ Ι - 22.

υναµική Μηχανών Ι Ακαδηµαϊκό έτος : Ε. Μ. Π. Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών ΥΝΑΜΙΚΗ ΜΗΧΑΝΩΝ Ι - 22. υναµική Μηχανών Ι Ακαδηµαϊκό έτος: 0-0 ΥΝΑΜΙΚΗ ΜΗΧΑΝΩΝ Ι -. - υναµική Μηχανών Ι Ακαδηµαϊκό έτος: 0-0 Cprigh ΕΜΠ - Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών - 0. Με επιφύλαξη παντός

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ "ΤΕΧΝΟΛΟΓΙΑ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΥΛΟΠΟΙΗΣΗ

Διαβάστε περισσότερα

ΜΗΧΑΝΙΣΜΟΙ ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕΔΙΑΣΜΟ ΜΗΧΑΝΩΝ

ΜΗΧΑΝΙΣΜΟΙ ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕΔΙΑΣΜΟ ΜΗΧΑΝΩΝ Μηχανισμοί & Εισαγωγή στο Σχεδιασμό Μηχανών Ακαδημαϊκό έτος: 214-215 ΜΗΧΑΝΙΣΜΟΙ & ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕΔΙΑΣΜΟ ΜΗΧΑΝΩΝ -A.1 - Μηχανισμοί & Εισαγωγή στο Σχεδιασμό Μηχανών Ακαδημαϊκό έτος: 214-215 Copyright ΕΜΠ

Διαβάστε περισσότερα

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα: Intel Parallel Studio XE 2013 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 3 η : Παράλληλη Επεξεργασία. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 3 η : Παράλληλη Επεξεργασία. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Ενότητα 3 η : Παράλληλη Επεξεργασία Παράλληλες Αρχιτεκτονικές Παράλληλο σύστημα είναι ένα σύνολο από επεξεργαστικά στοιχεία (processing elements) τα οποία: συνεργάζονται για γρήγορη επίλυση

Διαβάστε περισσότερα

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών

Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Παράλληλος Προγραμματισμός σε Επεξεργαστές Γραφικών Συστήματα Παράλληλης Επεξεργασίας 9ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Νοέμβριος 2016 1 Εισαγωγικά 2 Compute Unified Device

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στα Πολυεπεξεργαστικά Συστήματα Διερασίες και Νήματα σε Πολυεπεξεργαστικά Συστήματα Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed

Διαβάστε περισσότερα

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΕΜΠ ΜΕΘΟΔΟΙ ΕΠΙΛΥΣΗΣ ΜΕ Η/Υ 1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB) Ν.Δ. Λαγαρός Μ. Φραγκιαδάκης Α. Στάμος Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

Διαβάστε περισσότερα

Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android

Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android Πτυχιακή Εργασία Φοιτητής:

Διαβάστε περισσότερα

Πληροφορική 2. Γλώσσες Προγραμματισμού

Πληροφορική 2. Γλώσσες Προγραμματισμού Πληροφορική 2 Γλώσσες Προγραμματισμού 1 2 Γλώσσες προγραμματσιμού Επιτρέπουν την κωδικοποίηση των αλγορίθμων Η εκτέλεση ενός προγράμματος θα πρέπει να δίνει τα ίδια αποτελέσματα με την νοητική εκτέλεση

Διαβάστε περισσότερα

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής Κεφάλαιο 4 ο Ο Προσωπικός Υπολογιστής Μάθημα 4.3 Ο Επεξεργαστής - Εισαγωγή - Συχνότητα λειτουργίας - Εύρος διαδρόμου δεδομένων - Εύρος διαδρόμου διευθύνσεων - Εύρος καταχωρητών Όταν ολοκληρώσεις το μάθημα

Διαβάστε περισσότερα

Μηχανισµοί & Εισαγωγή στο Σχεδιασµό Μηχανών Ακαδηµαϊκό έτος: Ε.Μ.Π. Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών - 3.

Μηχανισµοί & Εισαγωγή στο Σχεδιασµό Μηχανών Ακαδηµαϊκό έτος: Ε.Μ.Π. Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών - 3. ΜΗΧΑΝΙΣΜΟΙ & ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕ ΙΑΣΜΟ ΜΗΧΑΝΩΝ - 3.1 - Cpright ΕΜΠ - Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών - 2012. Με επιφύλαξη παντός δικαιώµατος. All rights reserved. Απαγορεύεται

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ Δρ. Γκόγκος Χρήστος Εκτέλεση προγραμμάτων Πρόγραμμα: Ένα σύνολο από εντολές.

Διαβάστε περισσότερα

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) Εργασία Εξαμήνου

Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) Εργασία Εξαμήνου Προγραμματισμός Συστημάτων Υψηλών Επιδόσεων (ΗΥ421) Εργασία Εξαμήνου ΟΜΑΔΑ: Ιωαννίδης Σταύρος ΑΕΜ: 755 Ντελής Γιώργος ΑΕΜ: 726 Επιλογή της Εργασίας Για την εργασία μας επιλέξαμε την βελτιστοποίηση της

Διαβάστε περισσότερα

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β Καβακλή Χειμερινό Εξάμηνο 2001 Στόχοι του Μαθήματος! Ανάπτυξη αναλυτικής

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Μηχανολόγων Μηχανικών Εργαστήριο Θερμικών Στροβιλομηχανών

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Μηχανολόγων Μηχανικών Εργαστήριο Θερμικών Στροβιλομηχανών 2009 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Μηχανολόγων Μηχανικών Εργαστήριο Θερμικών Στροβιλομηχανών [ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΚΑΡΤΕΣ ΓΡΑΦΙΚΩΝ ΚΑΙ ΕΦΑΡΜΟΓΗ ΣΤΗΝ ΑΕΡΟΔΥΝΑΜΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ] Διπλωματική Εργασία του

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

Διαβάστε περισσότερα

ΧΡΟΝΙΚΗ ΠΕΡΙΟΔΟΣ Γεωργία Πελέκη, Έλντα Μπάλι Τζαφέρι Τζένη, Αλεξία Παπαδοπούλου, Ντοριλέιν Γκαρσία

ΧΡΟΝΙΚΗ ΠΕΡΙΟΔΟΣ Γεωργία Πελέκη, Έλντα Μπάλι Τζαφέρι Τζένη, Αλεξία Παπαδοπούλου, Ντοριλέιν Γκαρσία ΧΡΟΝΙΚΗ ΠΕΡΙΟΔΟΣ 1964 1981 Γεωργία Πελέκη, Έλντα Μπάλι Τζαφέρι Τζένη, Αλεξία Παπαδοπούλου, Ντοριλέιν Γκαρσία Τεχνολογία Επιδόσεις Το 1958, ο Τζακ Κίλμπυ (Jack Kilby) της εταιρείας Texas Instruments κατάφερε

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Γ ) Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική» Μεταπτυχιακή Διατριβή Τίτλος Διατριβής Ονοματεπώνυμο Φοιτητή Πατρώνυμο Αριθμός Μητρώου Επιβλέπων Επιτάχυνση του αλγορίθμου

Διαβάστε περισσότερα

Σύστημα ψηφιακής επεξεργασίας ακουστικών σημάτων με χρήση προγραμματιζόμενων διατάξεων πυλών. Πτυχιακή Εργασία. Φοιτητής: ΤΣΟΥΛΑΣ ΧΡΗΣΤΟΣ

Σύστημα ψηφιακής επεξεργασίας ακουστικών σημάτων με χρήση προγραμματιζόμενων διατάξεων πυλών. Πτυχιακή Εργασία. Φοιτητής: ΤΣΟΥΛΑΣ ΧΡΗΣΤΟΣ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Σύστημα ψηφιακής επεξεργασίας ακουστικών σημάτων με χρήση προγραμματιζόμενων διατάξεων πυλών. Πτυχιακή Εργασία Φοιτητής:

Διαβάστε περισσότερα

EM 361: Παράλληλοι Υπολογισμοί

EM 361: Παράλληλοι Υπολογισμοί ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ EM 361: Παράλληλοι Υπολογισμοί Ενότητα #2: Αρχιτεκτονική Διδάσκων: Χαρμανδάρης Ευάγγελος ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Πτυχιακή εργασία ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Πτυχιακή εργασία ΑΝΑΠΤΥΞΗ ΕΙΚΟΝΙΚΗΣ ΠΛΑΤΦΟΡΜΑΣ ΠΡΟΣΟΜΟΙΩΣΗΣ ΤΗΣ ΠΑΡΑΜΟΡΦΩΣΗΣ ΑΝΘΡΩΠΙΝΟΥ ΗΠΑΤΟΣ ΜΕ ΤΗ ΧΡΗΣΗ ΑΠΤΙΚΟΥ ΜΕΣΟΥ Δηµήτρης Δούνας

Διαβάστε περισσότερα

Αρχιτεκτονική Μνήμης

Αρχιτεκτονική Μνήμης ΕΣ 08 Επεξεργαστές Ψηφιακών Σημάτων Αρχιτεκτονική Μνήμης Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapters 3 & 4 Lapsley [2002]: Chapter

Διαβάστε περισσότερα

ΔΥΝΑΜΙΚΗ ΣΥΣΤΗΜΑΤΩΝ ΣΥΝΕΧΟΥΣ ΜΕΣΟΥ

ΔΥΝΑΜΙΚΗ ΣΥΣΤΗΜΑΤΩΝ ΣΥΝΕΧΟΥΣ ΜΕΣΟΥ ΕΡΓΑΣΤΗΡΙΟ ΔΥΝΑΜΙΚΗΣ & ΚΑΤΑΣΚΕΥΩΝ ΤΟΜΕΑΣ ΜΗΧΑΝΟΛΟΓΙΚΩΝ ΚΑΤΑΣΚΕΥΩΝ & ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ ΣΧΟΛΗ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΔΥΝΑΜΙΚΗ ΣΥΣΤΗΜΑΤΩΝ ΣΥΝΕΧΟΥΣ ΜΕΣΟΥ έκδοση DΥΝI-DCMB_2016b Copyright

Διαβάστε περισσότερα

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός

Δομές Ακολουθίας- Επιλογής - Επανάληψης. Δομημένος Προγραμματισμός Δομές Ακολουθίας- Επιλογής - Επανάληψης Δομημένος Προγραμματισμός 1 Βασικές Έννοιες αλγορίθμων Σταθερές Μεταβλητές Εκφράσεις Πράξεις Εντολές 2 Βασικές Έννοιες Αλγορίθμων Σταθερά: Μια ποσότητα που έχει

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών.

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών. ΕΙΣΑΓΩΓΗ Υλισµικό (Hardware) Επεξεργαστής-ΚΜΕ (Processor, CPU): εκτέλεση εντολών Μνήµη (Memory): προσωρινή αποθήκευση πληροφοριών Μονάδες ε/ε (I/O devices): Μονάδες δίσκων: Μόνιµη αποθήκευση πληροφοριών

Διαβάστε περισσότερα

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 1: Εισαγωγή Ποιος είμαι εγώ! 2 Ναύπλιο, 4/1976-9/1993 Πάτρα, 9/1993-6/2004 Williamsburg, VA, USA, 7/2004-7/2006 Μυτιλήνη, 10/2006-2/2007 Βόλος, 2/2007 - H Υπεύθυνη των

Διαβάστε περισσότερα

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

Διαβάστε περισσότερα

ΔΙΕΡΕΥΝΗΣΗ ΤΩΝ ΑΙΤΙΩΝ ΚΑΘΥΣΤΕΡΗΣΗΣ ΣΤΑ ΚΑΤΑΣΚΕΥΑΣΤΙΚΑ ΕΡΓΑ ΣΕ ΔΙΕΘΝΕΣ ΕΠΙΠΕΔΟ ΚΑΙ ΣΤΗΝ ΚΥΠΡΟ

ΔΙΕΡΕΥΝΗΣΗ ΤΩΝ ΑΙΤΙΩΝ ΚΑΘΥΣΤΕΡΗΣΗΣ ΣΤΑ ΚΑΤΑΣΚΕΥΑΣΤΙΚΑ ΕΡΓΑ ΣΕ ΔΙΕΘΝΕΣ ΕΠΙΠΕΔΟ ΚΑΙ ΣΤΗΝ ΚΥΠΡΟ Σχολή Μηχανικής και Τεχνολογίας Πτυχιακή εργασία ΔΙΕΡΕΥΝΗΣΗ ΤΩΝ ΑΙΤΙΩΝ ΚΑΘΥΣΤΕΡΗΣΗΣ ΣΤΑ ΚΑΤΑΣΚΕΥΑΣΤΙΚΑ ΕΡΓΑ ΣΕ ΔΙΕΘΝΕΣ ΕΠΙΠΕΔΟ ΚΑΙ ΣΤΗΝ ΚΥΠΡΟ Ιωάννα Λύρα Λεμεσός, Μάϊος 2018 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ

Διαβάστε περισσότερα

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του

Διαβάστε περισσότερα

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

Διαβάστε περισσότερα