Προς το περιεχόμενο

Ερμηνεία προγράμματος C (mpi)


if_then_else

Προτεινόμενες αναρτήσεις

Δεν γνωρίζω φίλε atssssss

Παίδες δίνω 20€ PayPal σε όποιο μπορεί να μου στείλει σχόλια γραμμή-γραμμή για το πρόγραμμα. Αύριο μου έδωσε την τελευταία ευκαιρία

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Πριν χρόνια είχα γράψει μια ρουτίνα για επίλυση συστήματος με Gauss και partial pivoting στο mpi.

Αυτό που έχεις δηλαδή.

 

 

Αν δεν έχεις ασχοληθεί, απλώς ξέχασέ το - θα σου είναι πολύ δύσκολο να καταλάβεις τι γίνεται

και αποκλείεται να κοροϊδέψεις τον επιβλέποντα.

Δεν πρόκειται για τον κλασσικό αλγόριθμο επίλυσης που ξέρουν όλοι αλλά για την υλοποίησή του

σε μηχάνημα κατανεμημένης μνήμης. Αυτό κάνει το mpi.

Ο τρόπος παραλληλισμού είναι δυσνόητος και απαιτεί να καταλάβεις σημαντικά πράγματα.

Π.χ. οι επεξεργαστές θεωρείται ότι αποτελούν ένα πίνακα Π : m x n και τα δεδομένα σου

(εδώ οι πίνακες του συστήματος) κατανέμονται στον Π.

Η κατανομή τους μπορεί να γίνεται κυκλικά (cyclic), κατά block (block) ή κατά block και κυκλικά μαζί (block-cyclic).

Π.χ. δοθέντος ενός διανύσματος με n στοιχεία xi, η κυκλική κατανομή του σε p επεξεργαστές

ορίζεται από την σχέση

xi -> P(mod(i,p))

όπου η συνάρτηση mod(i,p) δίνει το υπόλοιπο της ακέραιας διαίρεσης των i, p και

P(a) είναι ο επεξεργαστής με δείκτη a.

H εντολή

rp_map = i % num_processes

που έχει το πρόγραμμά σου κάνει κάτι τέτοιο (το % είναι το mod).

 

Η σωστή προσπέλαση των δεδομένων απαιτεί να κατανοήσεις την αντιστοιχία (σχέσεις) καθολικών

και τοπικών δεικτών των στοιχείων σου (δεδομένα) με τον πίνακα των επεξεργαστών.

Με τις σχέσεις αυτές μπορεί να βρεθεί πόσα στοιχεία πρέπει να δοθούν σε κάθε επεξεργαστή,

να κατανεμηθούν και να προσπελαστούν σαρώνοντας τους καθολικούς ή τοπικούς δείκτες.

Π.χ. σε ποιόν επεξεργαστή (process) βρίσκεται ένα στοιχείο του πίνακα του συστήματος κλπ.

 

Δεν είναι απλώς C που ξέρουν όλοι, είναι να κατανοήσεις αυτά τα πράγματα.

Θα μπορούσα να το κάνω αν είχα περισσότερο χρόνο αλλά τώρα όχι.

Την άλλη φορά πρέπει να διαβάσεις....

 

-

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Γενικά με MPI έχω διαβάσει και ξέρω τι γίνεται.. Τα βασικά, όπως τα βασικά της c τα ξέρω.. Απλά δεν μπορώ να κατανοήσω πλήρως το πρόγραμμα ή να του παρουσιάσω δικιά μου εκδοχή.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν θέλεις άλλη εκδοχή, έχω αυτό που είχα γράψει εγώ.

Δοκιμασμένο, ready to run και με πλήρεις, άψογες επεξηγήσεις για το πώς δουλεύει (10 σελ. κείμενο word).

ΑΛΛΑ το κοστολογώ πολύ πάνω από 20e (ο χρόνος και ο κόπος δεν είναι δωρεάν) και μάλλον θα αρνηθείς την προσφορά :-D.

 

-

  • Like 3
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Παιδιά επειδή και εγώ είχα αρχίσει να ασχολούμε με MPI, OPENMP και p-threads αυτό το καιρό είπα να το δω..

Η αλήθεια είναι ότι δυσκολεύτηκα...

Δεν έχω πολύ εμπειρία σε C και σε mpi, αλλά είχα κάνει παρόμοιο πρόγραμμα πριν λίγο καιρό.

Σε αυτό το πρόγραμμα δεν καταλαβαίνω καθόλου τις γραμμές 132-139 ( http://pastebin.com/iYE7Xwes )

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Παιδιά επειδή και εγώ είχα αρχίσει να ασχολούμε με MPI, OPENMP και p-threads αυτό το καιρό είπα να το δω..

Η αλήθεια είναι ότι δυσκολεύτηκα...

Δεν έχω πολύ εμπειρία σε C και σε mpi, αλλά είχα κάνει παρόμοιο πρόγραμμα πριν λίγο καιρό.

Σε αυτό το πρόγραμμα δεν καταλαβαίνω καθόλου τις γραμμές 132-139 ( http://pastebin.com/iYE7Xwes )

 

Eιναι καθαρα θέμα θεωρίας. Πρεπει να ξέρεις πως δουλευει ο αλγοριθμος

για να καταλαβεις πως γίνεται η κωδικοποιηση του στην C.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επειδή προφανώς κόπηκα, αλλά το θέλω για εμένα, οποίος μπορεί να μου γράψει ένα κείμενο με το τι κάνει. Τι κάνει και πως το κάνει.. Χωρίς deadline και του βάζω τα χρήματα σε τράπεζα

 

Επειδή προφανώς κόπηκα, αλλά το θέλω για εμένα, οποίος μπορεί να μου γράψει ένα κείμενο με το τι κάνει. Τι κάνει και πως το κάνει.. Χωρίς deadline και του βάζω τα χρήματα σε τράπεζα

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...