if_then_else Δημοσ. 16 Οκτωβρίου 2012 Μέλος Δημοσ. 16 Οκτωβρίου 2012 Δεν γνωρίζω φίλε atssssss Παίδες δίνω 20€ PayPal σε όποιο μπορεί να μου στείλει σχόλια γραμμή-γραμμή για το πρόγραμμα. Αύριο μου έδωσε την τελευταία ευκαιρία
V.I.Smirnov Δημοσ. 16 Οκτωβρίου 2012 Δημοσ. 16 Οκτωβρίου 2012 Πριν χρόνια είχα γράψει μια ρουτίνα για επίλυση συστήματος με 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 που ξέρουν όλοι, είναι να κατανοήσεις αυτά τα πράγματα. Θα μπορούσα να το κάνω αν είχα περισσότερο χρόνο αλλά τώρα όχι. Την άλλη φορά πρέπει να διαβάσεις.... - 1
if_then_else Δημοσ. 17 Οκτωβρίου 2012 Μέλος Δημοσ. 17 Οκτωβρίου 2012 Γενικά με MPI έχω διαβάσει και ξέρω τι γίνεται.. Τα βασικά, όπως τα βασικά της c τα ξέρω.. Απλά δεν μπορώ να κατανοήσω πλήρως το πρόγραμμα ή να του παρουσιάσω δικιά μου εκδοχή.
V.I.Smirnov Δημοσ. 17 Οκτωβρίου 2012 Δημοσ. 17 Οκτωβρίου 2012 Αν θέλεις άλλη εκδοχή, έχω αυτό που είχα γράψει εγώ. Δοκιμασμένο, ready to run και με πλήρεις, άψογες επεξηγήσεις για το πώς δουλεύει (10 σελ. κείμενο word). ΑΛΛΑ το κοστολογώ πολύ πάνω από 20e (ο χρόνος και ο κόπος δεν είναι δωρεάν) και μάλλον θα αρνηθείς την προσφορά . - 3
atssssss Δημοσ. 18 Οκτωβρίου 2012 Δημοσ. 18 Οκτωβρίου 2012 Παιδιά επειδή και εγώ είχα αρχίσει να ασχολούμε με MPI, OPENMP και p-threads αυτό το καιρό είπα να το δω.. Η αλήθεια είναι ότι δυσκολεύτηκα... Δεν έχω πολύ εμπειρία σε C και σε mpi, αλλά είχα κάνει παρόμοιο πρόγραμμα πριν λίγο καιρό. Σε αυτό το πρόγραμμα δεν καταλαβαίνω καθόλου τις γραμμές 132-139 ( http://pastebin.com/iYE7Xwes )
Star_Light Δημοσ. 18 Οκτωβρίου 2012 Δημοσ. 18 Οκτωβρίου 2012 Παιδιά επειδή και εγώ είχα αρχίσει να ασχολούμε με MPI, OPENMP και p-threads αυτό το καιρό είπα να το δω.. Η αλήθεια είναι ότι δυσκολεύτηκα... Δεν έχω πολύ εμπειρία σε C και σε mpi, αλλά είχα κάνει παρόμοιο πρόγραμμα πριν λίγο καιρό. Σε αυτό το πρόγραμμα δεν καταλαβαίνω καθόλου τις γραμμές 132-139 ( http://pastebin.com/iYE7Xwes ) Eιναι καθαρα θέμα θεωρίας. Πρεπει να ξέρεις πως δουλευει ο αλγοριθμος για να καταλαβεις πως γίνεται η κωδικοποιηση του στην C.
if_then_else Δημοσ. 18 Οκτωβρίου 2012 Μέλος Δημοσ. 18 Οκτωβρίου 2012 Επειδή προφανώς κόπηκα, αλλά το θέλω για εμένα, οποίος μπορεί να μου γράψει ένα κείμενο με το τι κάνει. Τι κάνει και πως το κάνει.. Χωρίς deadline και του βάζω τα χρήματα σε τράπεζα Επειδή προφανώς κόπηκα, αλλά το θέλω για εμένα, οποίος μπορεί να μου γράψει ένα κείμενο με το τι κάνει. Τι κάνει και πως το κάνει.. Χωρίς deadline και του βάζω τα χρήματα σε τράπεζα
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα