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

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

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

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

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

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

Εισαγωγή στους Αλγορίθμους

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

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

Εισαγωγή στους Αλγορίθμους

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

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

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

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

Τεχνολογία & Καινοτομία - Αρχές Βιομηχανικής Επιστήμης

Εισαγωγή στους Αλγορίθμους

Διοικητική Λογιστική

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Ιστορία της μετάφρασης

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Τεχνοοικονομική Μελέτη

Εισαγωγή στον δομημένο προγραμματισμό

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Μηχανολογικό Σχέδιο Ι

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

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

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Μαθηματική Ανάλυση Ι

Εισαγωγή στον δομημένο προγραμματισμό

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

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

Εισαγωγή στον δομημένο προγραμματισμό

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Κοινωνιολογία της Εκπαίδευσης

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

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

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

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εκκλησιαστικό Δίκαιο

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Μαθηματική Ανάλυση ΙI

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

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Διοικητική Λογιστική

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Ψηφιακή Επεξεργασία Εικόνων

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

Μαθηματική Ανάλυση Ι

Κατανεμημένος και Παράλληλος Προγραμματισμός MPI. MPI Απλές εντολές 03/13/2016. Οδηγίες αποστολής / παραλαβής μηνυμάτων, Υπολογισμός του π (

Εκκλησιαστικό Δίκαιο

Βέλτιστος Έλεγχος Συστημάτων

Δομές Δεδομένων Ενότητα 1

Βάσεις Περιβαλλοντικών Δεδομένων

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Λογιστική Κόστους. Ενότητα 4: ΣΥΜΠΕΡΙΦΟΡΑ - ΦΥΣΗ ΚΟΣΤΟΥΣ. Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

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

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Κβαντική Επεξεργασία Πληροφορίας

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 1: Εκτιμητές και Ιδιότητες. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Διδακτική Πληροφορικής

Τεχνικό Σχέδιο - CAD

Εργαστήριο Χημείας Ενώσεων Συναρμογής

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανολόγων Μηχανικών. Χημεία. Ενότητα 9: Υβριδισμός. Τόλης Ευάγγελος

Θέματα Εφαρμοσμένης. Ενότητα 14.2: Η ψήφος στα πρόσωπα. Θεόδωρος Χατζηπαντελής Τμήμα Πολιτικών Επιστημών ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Δομημένος Προγραμματισμός

Κβαντική Επεξεργασία Πληροφορίας

Διδακτική της Πληροφορικής

Κοινωνιολογία της Εκπαίδευσης

Τεχνολογία και Καινοτομία - Οικονομική Επιστήμη και Επιχειρηματικότητα

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Transcript:

Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 5: MPI_Reduce Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ψηφιακά Μαθήματα στο Πανεπιστήμιο Δυτικής Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Σκοπός της Ενότητας Η κατανόηση της λειτουργίας Reduction στο MPI. 4

Η συνάρτηση MPI_Reduce (1/4) Η συνάρτηση MPI_Reduce ανήκει κι αυτή στην κατηγορία των συναρτήσεων συλλογικής επικοινωνίας. Πιο συγκεκριμένα η MPI_Reduce ανήκει και σε μια ειδική κατηγορία συναρτήσεων που ονομάζονται: Συναρτήσεις Υποβιβασμού (reduction functions). Ονομάζονται έτσι διότι μπορούν να εφαρμόσουν έναν απλό υπολογισμό στα δεδομένα εισόδου (π.χ. Πρόσθεση, Μέγιστο, Ελάχιστο κ.α.). Δεν απαιτείται να ξεκινήσει η κάθε διεργασία αποστολέας μια συνάρτηση MPI_Send για την αποστολή των δεδομένων προς την διεργασία που καλεί την MPI_Reduce. 5

Η συνάρτηση MPI_Reduce (2/4) Παράδειγμα: Έστω 3 διεργασίες που κάθε μία υπολογίζει μια ακέραια τιμή και στο τέλος θέλουμε οι τιμές αυτές να συγκεντρωθούν και να προστεθούν, η κλήση της συνάρτησης είναι: MPI_Reduce (&sum, &tmp, 1, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD); 6

Η συνάρτηση MPI_Reduce (3/4) 7

Η συνάρτηση MPI_Reduce (4/4) Το πρωτότυπό της έχει την μορφή: Int MPI_Reduce (void * sendbuf, void * recvbuf, int count, MPI_Datatype datatype, MPI_Op operation, int root, MPI_Comm comm); sendbuf: Περιοχή μνήμης που είναι τα δεδομένα εισόδου της συνάρτησης. recvbuf: Περιοχή μνήμης που θα αποθηκευθούν τα αποτελέσματα του υποβιβασμού. count: Πλήθος δεδομένων εισόδου. datatype: Τύπος δεδομένων εισόδου. operation: Το είδος της πράξης που θα εφαρμοστεί στα δεδομένα εισόδου. root: Η τάξη της διεργασίας που θα πραγματοποιήσει τον υποβιβασμό. comm: Ο χειριστής στον οποίο ανήκουν οι διεργασίες που θα συμμετάσχουν. στην διαδικασία του υποβιβασμού (MPI_COMM_WORLD). Some Operations: MPI_SUM, MPI_MAX, MPI_MIN, MPI_PROD. 8

Παράδειγμα MPI_Reduce (1/3) #include <mpi.h> #include <stdio.h> #define SIZE 4 int main (int argc, char* argv[]) { int i, rank, size, sendcount, recvcount, source; float sendbuf [SIZE][SIZE] = { {1.0, 2.0, 3.0, 4.0}, {5.0, 6.0, 7.0, 8.0}, {9.0, 10.0, 11.0, 12.0}, {13.0, 14.0, 15.0, 16.0} }; float Sum, Tsum, recvbuf[size]; for (i=0; i<=size; i++) { recvbuf[i]=0.0; } MPI_Init (&argc, &argv);mpi_comm_rank MPI_COMM_WORLD, &rank);mpi_comm_size MPI_COMM_WORLD, &size); 9

Παράδειγμα MPI_Reduce (2/3) if (size == SIZE) { source = 0; sendcount = SIZE; recvcount = SIZE; MPI_Scatter (&sendbuf, sendcount, MPI_FLOAT, &recvbuf, recvcount, MPI_FLOAT, source, MPI_COMM_WORLD); printf ("rank= %d Results: %4.1f %4.1f %4.1f %4.1f \n", rank, recvbuf[0], recvbuf[1], recvbuf[2], recvbuf[3]); Sum = 0; for (i=0; i<=size; i++) {Sum = Sum + recvbuf[i]; } MPI_Reduce (&Sum, &Tsum, 1, MPI_FLOAT, MPI_SUM, source, MPI_COMM_WORLD); if (rank == source) { printf ("Total Sum = %4.1f \n", Tsum); } } else printf ("Must specify %d processors. Terminating. \n", SIZE); MPI_Finalize(); return (0); } 10

Παράδειγμα MPI_Reduce (3/3) Αντί να χρησιμοποιηθούν πολλαπλές MPI_Send και MPI_Recv συναρτήσεις (π.χ. μέσω εντολών for) για την αποστολή και παραλαβή των δεδομένων από τις διεργασίες, χρησιμοποιείται μόνο η MPI_Scatter για την διασπορά των δεδομένων και η MPI_Reduce για την συλλογή των δεδομένων. 11

Τέλος Ενότητας 12

Σημείωμα Αναφοράς Copyright, Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών, Μηνάς Δασυγένης. «Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας». Έκδοση: 1.0. Κοζάνη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.uowm.gr/courses/icte268/ 13

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Όχι Παράγωγα Έργα Μη Εμπορική Χρήση 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] h t t p ://creativecommons.org/licenses/by-nc-nd/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό 14

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. 15