THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Παράλληλα και Διανεμημένα Συστήματα => Topic started by: Αλέκος από Κω on November 09, 2019, 22:58:20 pm



Title: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: Αλέκος από Κω on November 09, 2019, 22:58:20 pm
Συζήτηση για τη δεύτερη φετινή εργασία.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: Judas Priest saved me on November 09, 2019, 23:10:11 pm
Στην εκφώνηση για το V0, εκεί που έχει έναν τύπο για τον D, κάτι δε με κολλάει.

Πρέπει να κανουμε πρόσθεση/αφαίρεση μεταξύ 3 πινάκων με διαφορετικές διαστάσεις.

Του sum(Χ.^2,2) που είναι nx1.
Του X*Y.' που είναι nxm.
Και του sum(Y.^2,2).' που είναι 1xm.
(Ο Χ είναι nxd και ο Υ mxd απο ότι καταλαβαίνω)

Δε γίνεται να κάνουμε προσθαφέρεση μεταξύ πινάκων διαφορετικών διαστάσεων. Που κάνω λαθος ?


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: karelisp on November 10, 2019, 19:07:39 pm
Στην εκφώνηση για το V0, εκεί που έχει έναν τύπο για τον D, κάτι δε με κολλάει.

Πρέπει να κανουμε πρόσθεση/αφαίρεση μεταξύ 3 πινάκων με διαφορετικές διαστάσεις.
...

Δε γίνεται να κάνουμε προσθαφέρεση μεταξύ πινάκων διαφορετικών διαστάσεων. Που κάνω λαθος ?

Στο Matlab γίνεται. Για παράδειγμα αν Χ = [1 2 3], τότε το αποτέλεσμα της 1+ Χ θα είναι: [2 3 4]. Αυτό γενικεύεται, πχ αντί του "1" μπορείς να έχεις πίνακα nx1 που προστίθεται σε πίνακα nxm.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: karelisp on November 10, 2019, 19:10:02 pm
Μετά από email που έστειλα στον κ. Πιτσιάνη, μου είπε ότι στην συνάρτηση που έχουμε να υλοποιήσουμε, θα προστεθεί ένα ακόμη όρισμα που θα δίνει τον αριθμό των σημείων του Υ, δηλαδη το m.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: Patui on November 11, 2019, 22:02:45 pm
Καλησπερα παιδια θα ηθελα να ρωτησω εαν εχει βγαλει κανενας ακρη με το τι ακριβως πρεπει να κανουμε στο Synchronous


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: pesto80 on November 12, 2019, 13:48:43 pm
Αυτό που λέει να χρησιμοποιήσουμε blas routines, στην ουσια θελει να χρησιμοποιησουμε το cblas.h ??? Υπαρχει μηδενικο documentation...


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: Patui on November 12, 2019, 15:09:02 pm
Αυτό που λέει να χρησιμοποιήσουμε blas routines, στην ουσια θελει να χρησιμοποιησουμε το cblas.h ??? Υπαρχει μηδενικο documentation...

Λογικα θελει να χρησιμοποιησουμε  την cblas.h  ή την  mkl.h  (Math Kernel Library της Intel που εχει μεσα την cblas και την blas ) , για τον υπολογισμο του - 2 * Χ * Υ'  ( συναρτηση cblas_dgemm).


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: pesto80 on November 12, 2019, 15:42:40 pm
Λογικα θελει να χρησιμοποιησουμε  την cblas.h  ή την  mkl.h  (Math Kernel Library της Intel που εχει μεσα την cblas και την blas ) , για τον υπολογισμο του - 2 * Χ * Υ'  ( συναρτηση cblas_dgemm).

Την mkl.h απλα δεν την βρισκω by default στον gcc (δοκιμασα gcc-5 και gcc-7). Οποτε μηπως ειναι καλυτερα να παμε με την cblas γιατι μετα στις αξιολογησεις θα πονεσουμε πολυ στα compile.

Το καλυτερο documentation της cblas_dgemm() που βρηκα ειναι απο το site της apple. Αυτο.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: Patui on November 12, 2019, 16:47:48 pm
Την mkl.h απλα δεν την βρισκω by default στον gcc (δοκιμασα gcc-5 και gcc-7). Οποτε μηπως ειναι καλυτερα να παμε με την cblas γιατι μετα στις αξιολογησεις θα πονεσουμε πολυ στα compile.

Το καλυτερο documentation της cblas_dgemm() που βρηκα ειναι απο το site της apple. Αυτο.

εχω την εντυπωση οτι η mkl.h βρισκεται στο intel parallel studio  γιατι και εγω με τα default του gcc ειχα θεμα και χρειαστηκε να το κατεβασω , παντως καλυτερα να παμε με την cblas γιατι θα εχουμε θεματα στο validate


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: karelisp on November 12, 2019, 20:05:24 pm
Εγώ πάντως για την εγκατάσταση της clbas έκανα εγκατάσταση (sudo apt-get install) το πακέτο libatlas-base-dev.
Οπότε κάνω #include <cblas.h> και για compile χρειάζεται το -lblas


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: alekosts on November 13, 2019, 04:10:32 am
Το cblas αν δεν κάνω λάθος δεν έχει ρουτίνες για την πρόσθεση πινάκων με διαφορετικό  μέγεθος όπως το matlab. Άρα για να φτιάξουμε τον MxN euclidean distance matrix θα πρέπει να φτιάξουμε Μ πίνακες 1xN και να τους αποθηκεύσουμε με τέτοιο τρόπο έτσι ώστε να δημιουργηθεί ένας MxN πίνακας; Και επίσης δεν ξέρω αν μπορούμε να εφαρμόσουμε ρίζα σε όλα τα στοιχεία ενός πίνακα όπως στο matlab οπότε και αυτό θα χρειαστεί να το κάνουμε με ένα for loop; Τα λέω καλά; Αν ναι είναι worth όλο αυτό;


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: legen___dary on November 14, 2019, 14:49:03 pm
Παίδες μήπως έχει κανείς καταλάβει τι θα κάνει η distrAllkNN; Θα χρησιμοποιείται μόνο για τον πρώτο υπολογισμό με τον εαυτό μου πχ ή θα περνάω ως όρισμα τον τοπικό πίνακα (Χ) και όλα τα send και receive θα γίνονται εκεί μέσα; Δεν ξέρω αν γίνομαι κατανοητός,ελπίζω κάποιος να με νιώσει  :P


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: Judas Priest saved me on November 15, 2019, 01:20:01 am
Το cblas αν δεν κάνω λάθος δεν έχει ρουτίνες για την πρόσθεση πινάκων με διαφορετικό  μέγεθος όπως το matlab. Άρα για να φτιάξουμε τον MxN euclidean distance matrix θα πρέπει να φτιάξουμε Μ πίνακες 1xN και να τους αποθηκεύσουμε με τέτοιο τρόπο έτσι ώστε να δημιουργηθεί ένας MxN πίνακας; Και επίσης δεν ξέρω αν μπορούμε να εφαρμόσουμε ρίζα σε όλα τα στοιχεία ενός πίνακα όπως στο matlab οπότε και αυτό θα χρειαστεί να το κάνουμε με ένα for loop; Τα λέω καλά; Αν ναι είναι worth όλο αυτό;

Δε θα φτιάξεις Μ 1xN πίνακες. Θα φτιάξεις έναν ΜxN πίνακα με ένα pointer. Όντως, το cblas δεν κάνει πρόσθεση πινάκων με διαφορετικό μέγεθος ούτε μπορεί να εφαρμόσει ρίζα σε όλα τα στοιχεία του πίνακα. Αυτά θα τα κάνεις με εσύ με κάποια loops. Δε καταλαβαίνω τι εννοείς είναι worth, δε νομίζω να υπάρχει άλλος τροπος  :P


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: dim2712 on November 15, 2019, 01:28:11 am
Ίσως εννοει worth η όλη χρήση της cblas.
Επίσης μία ερώτηση: εκεί που λέει στα afternotes θέλει να κάνουμε τους υπολογισμούς και σε threads σε κάθε process η απλά τοπ αναφέρει σαν πληροφορία για performance optimization;


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: dim2712 on November 15, 2019, 04:04:29 am
Παίδες μήπως έχει κανείς καταλάβει τι θα κάνει η distrAllkNN; Θα χρησιμοποιείται μόνο για τον πρώτο υπολογισμό με τον εαυτό μου πχ ή θα περνάω ως όρισμα τον τοπικό πίνακα (Χ) και όλα τα send και receive θα γίνονται εκεί μέσα; Δεν ξέρω αν γίνομαι κατανοητός,ελπίζω κάποιος να με νιώσει  :P
Όπως το βλέπω μέσα σε αυτή θα πρέπει να ξεκινήσεις το mpi enviroment και όπως λες να κάνεις τα send εκεί και άρα τυχόν υπολογισμοί θα γίνουν εκεί μέσα στη συνέχεια όπως σε ένα mpi enviroment που το κάθε process με εξαίρεση τα δεδομένα είναι identical.
Δεν ξέρω αν ήμουν κατανοητός :P


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: mano_lee on November 15, 2019, 17:00:35 pm
HEADS UP

Στον tester του φλώρου πάλι πρέπει να αλλάξουμε τους αριθμούς που παράγονται γιατι δεν βγαίνει καθαρό double. Δηλαδή να γίνει κάτι του στυλ:
Code:
(double)rand()/(double)RAND_MAX; 

Εμένα με του φλώρου για κάποιες τιμές των m, n, d, k μου έβγαζε wrong, αλλά όταν το κάνω αυτό είναι όλα correct.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: thanosthehuge on November 16, 2019, 13:26:53 pm
"...of the points that are distributed in disjoint blocks to all processes..."

Δεν καταλαβαινω πως ερμηνευουμε αυτο το πραγμα? Δηλαδη η εισοδος Χ της distrAllkNN ειναι διαφορετικη για καθε process, ή υπαρχει ενα ολικο Χ το οποιο σε καθε process το σπαμε σε επιμερους Yi και καθε process i αναλαμβανει να καλεσει την kNN του (Χ, Yi) του?? Γενικα δεν καταλαβαινω τι ακριβως θα πρεπει να υπολογιζει το καθε process και τι θα πρεπει να στελνεται μεταξυ των processes. Αν μπορει κανεις να βοηθησει λιγο εδω :)


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: dim2712 on November 16, 2019, 15:22:07 pm
Όπως το καταλαβαίνω είναι το δεύτερο που λες δηλαδή κάθε process έχει ένα Yi και μάλιστα υπολογίζει σταδιακά τα knn εξετάζοντας κάθε φορά υποσύνολα του Χ που του στέλνει το προηγούμενο rank στο communicator. Το πρόβλημα μου είναι αν την συνάρτηση που περιγράφεις την καλεί το κάθε process η μόνο το rank 0 για να ξεκινήσει το διαμοιρασμό του Χ και των Υi. Έστειλα mail στο φλώρο αλλά απάντηση δεν πήρα ποτε :-\


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: mikalaki on November 16, 2019, 15:46:30 pm
Όσοι ετρεξαν τον validator και πήραν σωστές ενδείξεις , πείραξαν κάτι άλλο πέρα από την παραγωγή των τυχαίων αριθμών? Γιατί εκτυπώνοντας τα  αποτελέσματα μου φαίνονται σωστά...αλλά στον validator παίρνω συνεχώς ενδείξεις Wrong :(


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: dim2712 on November 16, 2019, 16:38:21 pm
O validator φαίνεται πρώτον γυρνάει τους πίνακες δηλαδή από mxn που λέει στην εκφώνηση ο validator των μεταχειρίζεται σαν nxm και επισης θέλει να είναι και σε αύξουσα σειρα οι κ αποστασεις


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: mikalaki on November 16, 2019, 19:01:29 pm
O validator φαίνεται πρώτον γυρνάει τους πίνακες δηλαδή από mxn που λέει στην εκφώνηση ο validator των μεταχειρίζεται σαν nxm και επισης θέλει να είναι και σε αύξουσα σειρα οι κ αποστασεις

έχω ακριβώς έτσι διαμορφώσει τον κώδικα μου, αφού διαβασα τον τεστερ, άλλα και πάλι παίρνω ενδείξεις wrong... τι να πώ ίσως μου έχει ξεφύγει κάτι...


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: mano_lee on November 16, 2019, 20:56:13 pm
έχω ακριβώς έτσι διαμορφώσει τον κώδικα μου, αφού διαβασα τον τεστερ, άλλα και πάλι παίρνω ενδείξεις wrong... τι να πώ ίσως μου έχει ξεφύγει κάτι...

Αν τα έχεις με την μορφή που τα θέλει στον tester, τότε μήπως τα indices έχουν λάθος τιμές; Το λέω επειδή εγώ είχα καταλάβει ότι π.χ. αν έχουμε n=10 θα πρέπει τα indices να είναι από 0 έως 99, αλλά πρέπει να είναι από 0 έως 9. Οπότε από όταν το διόρθωσα μου βγάζει CORRECT.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: mikalaki on November 16, 2019, 21:57:07 pm
πράγματι το προβλημα ήταν ότι δεν τα είχα στην μορφή που θέλει ο τεστερ... αν και τα είχα στην μορφή που ήθελε η εκφώνηση...


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: dim2712 on November 17, 2019, 17:55:17 pm
Kai τώρα δηλαδή πρέπει ν αλλάξω όλη την εργασία με άλλη βιβλιοθήκη; Έχω κι άλλα πραγματα να κάνω εκτός απ το ασχολούμε με αυτό το μαθημα!


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: legen___dary on November 17, 2019, 19:41:32 pm
Έχει κανείς άλλος πρόβλημα στη σύγκριση των αποστάσεων του με τις αποστάσεις του tester? Έχω τεστάρει το αποτέλεσμα μου με το Matlab και είναι σωστό. Ο tester του Φλώρου παρ'όλα αυτά μου το βγάζει λάθος και αν του βάλω να εμφανίσει τις αποστάσεις που υπολογίζει εκείνος είναι ότι να 'ναι.
sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: dim2712 on November 17, 2019, 22:13:19 pm
Του χω στείλει mail ότι κανει το indexing των πινάκων όπως να ναι αλλά δεν καταλαβαίνει τι του λέω. Πρέπει να το φτιάξουμε και αυτό.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: legen___dary on November 17, 2019, 22:34:13 pm
Του χω στείλει mail ότι κανει το indexing των πινάκων όπως να ναι αλλά δεν καταλαβαίνει τι του λέω. Πρέπει να το φτιάξουμε και αυτό.

Έχουμε μπλέξει..
sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: dim2712 on November 17, 2019, 23:04:23 pm
Υπάρχει άλλος που να έχει χρησιμοποιήσει άλλη implementation της blas απ αυτή που έστειλε στο mail;


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: Patui on November 18, 2019, 23:17:17 pm
Καλησπερα παιδια επειδη απο την εκφωνηση δεν ειναι κατανοητο και ο Φλωρος δεν πολυ απανταει στα μηνυματα θα ηθελα να ρωτησω τα εξης. Θα εχουμε ας πουμε εναν πινακα ο οποιος θα χωριζεται σε ισα μεγεθη και θα τα περναμε μεσο του Χ της distrall ή αυτο το σπασιμο θα γινεται εκει μεσα απο εμας ; Εαν ναι τοτε τα indexes πως ακριβως θα προκυτπουν ; Επισης το MPI Init / rank / size κτλ θα το κανουμε εμεις μεσα στην συναρτηση ή θα γινεται στην main . Γενικα η εκφωνηση δεν επεξηγει ακριβως τι θελει να κανουμε και το κομματι sychronous / asychronous με εχει μπερδεψει . Εαν καποιος εχει καταλαβει τι ακριβως θελει ή του εχει απαντησει ο Φλωρος ας μας διαφωτισει , πιστευω αρκετοι θα εχουν τις ιδιες αποριες .


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: mano_lee on November 19, 2019, 00:29:46 am
Καλησπερα παιδια επειδη απο την εκφωνηση δεν ειναι κατανοητο και ο Φλωρος δεν πολυ απανταει στα μηνυματα θα ηθελα να ρωτησω τα εξης. Θα εχουμε ας πουμε εναν πινακα ο οποιος θα χωριζεται σε ισα μεγεθη και θα τα περναμε μεσο του Χ της distrall ή αυτο το σπασιμο θα γινεται εκει μεσα απο εμας ; Εαν ναι τοτε τα indexes πως ακριβως θα προκυτπουν ; Επισης το MPI Init / rank / size κτλ θα το κανουμε εμεις μεσα στην συναρτηση ή θα γινεται στην main . Γενικα η εκφωνηση δεν επεξηγει ακριβως τι θελει να κανουμε και το κομματι sychronous / asychronous με εχει μπερδεψει . Εαν καποιος εχει καταλαβει τι ακριβως θελει ή του εχει απαντησει ο Φλωρος ας μας διαφωτισει , πιστευω αρκετοι θα εχουν τις ιδιες αποριες .

+1 σε ό,τι ρώτησε :P Ας βοηθήσει όποιος μπορεί.

Επίσης, έχει δοκιμάσει κανείς να τρέξει τον κώδικα του στην συστοιχία με ssh? Επειδή μου βγάζει σφάλμα στο include <cblas.h>, παρόλο που από ότι λέει στο documentation παρέχεται η OpenBLAS.



Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: dim2712 on November 19, 2019, 01:23:24 am
Έχω στείλει μαιλ και στον πιτσιανη να πάω να τον ρωτήσω ακριβώς αυτά αλλά με παρέπεμψε που αλλού στο φλώρο και ακόμα απαντηση πουθενα :(


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: thanosthehuge on November 19, 2019, 02:23:04 am
Υποθέτω θα πρέπει να περιμένουμε όλοι την Τετάρτη να τους σπαμμαρουμε στο μάθημα με ερωτήσεις...


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: dim2712 on November 19, 2019, 17:04:55 pm
Δεν ανακοινώθηκε πουθενά :o αλλά η προθεσμία πήγε για την επόμενη κυριακή 1/12. Επίσης θέλουν να χρησιμοποιήσουμε και το cluster του απθ για να τρέξουμε mpi. Περισσότερα θα μάθουμε υποθέτω αύριο.
credits to darktakis για την πληροφορία.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: Judas Priest saved me on November 20, 2019, 23:08:28 pm
Ρε παιδιά ότι ναναι έχει κανει ο Φλώρος στον τεστερ με τα indexes. Μη μιλήσω για την εκφώνηση που λέει οτι ο Χ έχει n στοιχεία και ο Υ m και κυριολεκτικά 5 σειρές από κάτω λέει το αντίθετο.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: alekosts on November 22, 2019, 14:53:23 pm
Έχει κάνει κανείς εγγραφή στο grid για να βοηθήσει; Έχω κάνει αίτηση αλλά δεν έχουν απαντήση;


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/2
Post by: Patui on November 22, 2019, 22:33:57 pm
Μας εχουν αφησει στην ερημο χωρις νερο σε αυτη την εργασια μου φαινεται


Edit Φλωρος ειπε θα ανεβασει ανανεωμενη εκφωνηση που θα εξηγουν τι δομη θα εχει , επισης οταν κανουμε compile με mpicc εχει κανενας ιδεας πως κανουμε include και την cblas στο κομπαιλ ?


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: Μπουγάτσας on November 22, 2019, 22:34:33 pm
Επειδή δεν έβγαζα άκρη με το V1 πήγα και ρώτησα τον Φλώρο, οπότε μοιράζομαι εδώ τα όσα μου είπε.
Αρχικα η αναζήτηση θα γίνει για όλα τα σημεία του Χ με όλα τα σημεία του Χ, δηλαδή αν κρίνουμε απο το V0 ο Χ ταυτίζεται με τον Υ που περνούσαμε σαν όρισμα στην kNN. Έπειτα σπάμε τον Χ σε blocks και κάθε process αναζητά τους kNN για ένα block σημείων (έστω Yi ) σε ένα άλλο block σημείων Xi. Τα processes επικοινωνούν σε μορφή ring όπως λέει η εκφώνηση. Άρα κάθε φορά το proccess υπολογίζει ένα αποτέλεσμα (knnresult) για ένα σετ σημείων και στη συνέχεια περνάει αυτό το αποτέλεσμα στο επόμενο process και λαμβάνει ένα αποτέλεσμα απο το προηγούμενο process. Κάθε φορά τα processes εκτελούν το kNN search και ανανεώνουν αν πρέπει το αποτέλεσμα. Η διαδικασία ολοκληρώνεται όταν έχουμε ελέγξει όλα τα Yi με όλα τα Xi. Το σημείο του συγχρονισμού έγκειται στο να μεταφέρονται τα αποτελέσματα του εκάστοτε process συγχρονισμένα στο επόμενο.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/2
Post by: mano_lee on November 22, 2019, 22:59:40 pm
Μας εχουν αφησει στην ερημο χωρις νερο σε αυτη την εργασια μου φαινεται


Edit Φλωρος ειπε θα ανεβασει ανανεωμενη εκφωνηση που θα εξηγουν τι δομη θα εχει , επισης οταν κανουμε compile με mpicc εχει κανενας ιδεας πως κανουμε include και την cblas στο κομπαιλ ?

Εννοείς δεν μπορείς να κάνεις πάλι -lblas επειδή δεν κάνεις gcc? Αν ισχύει αυτό, τότε αν εγκαταστήσεις την OpenBLAS που έστειλε ο φλώρος δεν θα έχεις θέμα.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/2
Post by: Patui on November 22, 2019, 23:25:28 pm
Εννοείς δεν μπορείς να κάνεις πάλι -lblas επειδή δεν κάνεις gcc? Αν ισχύει αυτό, τότε αν εγκαταστήσεις την OpenBLAS που έστειλε ο φλώρος δεν θα έχεις θέμα.


Ευχαριστω βγηκε ακρη τελικα


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: dim2712 on November 24, 2019, 00:00:39 am
Επειδή δεν έβγαζα άκρη με το V1 πήγα και ρώτησα τον Φλώρο, οπότε μοιράζομαι εδώ τα όσα μου είπε.
Αρχικα η αναζήτηση θα γίνει για όλα τα σημεία του Χ με όλα τα σημεία του Χ, δηλαδή αν κρίνουμε απο το V0 ο Χ ταυτίζεται με τον Υ που περνούσαμε σαν όρισμα στην kNN. Έπειτα σπάμε τον Χ σε blocks και κάθε process αναζητά τους kNN για ένα block σημείων (έστω Yi ) σε ένα άλλο block σημείων Xi. Τα processes επικοινωνούν σε μορφή ring όπως λέει η εκφώνηση. Άρα κάθε φορά το proccess υπολογίζει ένα αποτέλεσμα (knnresult) για ένα σετ σημείων και στη συνέχεια περνάει αυτό το αποτέλεσμα στο επόμενο process και λαμβάνει ένα αποτέλεσμα απο το προηγούμενο process. Κάθε φορά τα processes εκτελούν το kNN search και ανανεώνουν αν πρέπει το αποτέλεσμα. Η διαδικασία ολοκληρώνεται όταν έχουμε ελέγξει όλα τα Yi με όλα τα Xi. Το σημείο του συγχρονισμού έγκειται στο να μεταφέρονται τα αποτελέσματα του εκάστοτε process συγχρονισμένα στο επόμενο.
Μήπως εννοείς περνάς στην επόμενη διαδικασία το Xi που μόλις υπολόγισε το process και αφού ανανέωσε το δικό του knnresult για το δικό του  Χι;


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: mikalaki on November 24, 2019, 17:45:55 pm
Μήπως εννοείς περνάς στην επόμενη διαδικασία το Xi που μόλις υπολόγισε το process και αφού ανανέωσε το δικό του knnresult για το δικό του  Χι;


+1


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: Μπουγάτσας on November 25, 2019, 12:56:44 pm
Μήπως εννοείς περνάς στην επόμενη διαδικασία το Xi που μόλις υπολόγισε το process και αφού ανανέωσε το δικό του knnresult για το δικό του  Χι;

Νομιζω ναι αυτο που λες ειναι εν τελει , απλα δεν το ειχα ξεκαθαρισει κι εγω ακριβως στο μυαλο μου. Γενικά πάντως ειτε περνάς κάθε φορά το Χi είτε το αποτέλεσμα στόχος είναι να ελεγχθούν "όλα με όλα". Αν γίνει αυτό με οποιονδήποτε τρόπο τότε θα είναι σωστό.

Μπορεί κάποιος να εξηγήσει τι εννοεί στο τέλος της εκφώνησης με το blocking της μνήμης ;


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: Patui on November 25, 2019, 15:28:50 pm
Δεν ξέρω τι ακριβώς περιμένουν για να βγάλουν μια ανθρώπινη εκφώνηση , ίσως να τελειώσει η προθεσμία...


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: alekosts on November 25, 2019, 15:48:57 pm
Πόσες μέρες χρειάστηκαν για να γίνει η εγγραφή στην συστοιχία; Γιατί έχω κάνει αίτηση από την Τετάρτη και ακόμα τίποτα.  :'(


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: Μπουγάτσας on November 25, 2019, 16:33:17 pm
Πόσες μέρες χρειάστηκαν για να γίνει η εγγραφή στην συστοιχία; Γιατί έχω κάνει αίτηση από την Τετάρτη και ακόμα τίποτα.  :'(
Εγω έκανα Παρασκευή και δεν έχει γίνει έγκριση


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: alekosts on November 25, 2019, 16:41:50 pm
Εγω έκανα Παρασκευή και δεν έχει γίνει έγκριση
Μπορούμε να τεστάρουμε το πρόγραμμα μας πουθενά αλλού ή αναγκαστικά περιμένουμε;


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: Μπουγάτσας on November 25, 2019, 17:32:29 pm
Μπορούμε να τεστάρουμε το πρόγραμμα μας πουθενά αλλού ή αναγκαστικά περιμένουμε;
Ανεβηκε ανανεωμένος τεστερ και για mpi


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: mano_lee on November 25, 2019, 17:39:47 pm
Στον καινούριο tester πάλι μου βγάζει WRONG για την rand() του φλώρου. Έχει κανείς το ίδιο πρόβλημα;

Βέβαια αν βγάλω το (double)50 ή αν αντί γι αυτό βάλω RAND_MAX, το πρόβλημα πάλι διορθώνεται.

EDIT: Του το είπα και το έκανε με RAND_MAX


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: athanasps on November 25, 2019, 18:42:26 pm
Στον καινούριο tester πάλι μου βγάζει WRONG για την rand() του φλώρου. Έχει κανείς το ίδιο πρόβλημα;

Βέβαια αν βγάλω το (double)50 ή αν αντί γι αυτό βάλω RAND_MAX, το πρόβλημα πάλι διορθώνεται.

EDIT: Του το είπα και το έκανε με RAND_MAX

Κι σε εμενα ακριβως το ιδιο επαιξε, δεν καταλαβα γιατι, αλλα με αυτην την αλλαγη τρεχει.
Όμως, οταν τεστάρει για row major έχει άλλο θέμα. Αντί να βάζει πχ. knnres.ndist[i + j*k] (αφού ο πίνακας ndist είναι m*k) αυτός βάζει knnres.ndist[i + j*d] που βγάζει WRONG. Αφολύ άλλαξα και αυτό δηλαδή δούλεψε σε μένα.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: mikalaki on November 25, 2019, 18:59:17 pm
Κι σε εμενα ακριβως το ιδιο επαιξε, δεν καταλαβα γιατι, αλλα με αυτην την αλλαγη τρεχει.
Όμως, οταν τεστάρει για row major έχει άλλο θέμα. Αντί να βάζει πχ. knnres.ndist[i + j*k] (αφού ο πίνακας ndist είναι m*k) αυτός βάζει knnres.ndist[i + j*d] που βγάζει WRONG. Αφολύ άλλαξα και αυτό δηλαδή δούλεψε σε μένα.

πραγματι και εγώ το παρατήρησα αυτό !!! και μόνο αν αλλαξω το d σε k παίρνω correct!


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: mano_lee on November 25, 2019, 19:30:05 pm
Κι σε εμενα ακριβως το ιδιο επαιξε, δεν καταλαβα γιατι, αλλα με αυτην την αλλαγη τρεχει.
Όμως, οταν τεστάρει για row major έχει άλλο θέμα. Αντί να βάζει πχ. knnres.ndist[i + j*k] (αφού ο πίνακας ndist είναι m*k) αυτός βάζει knnres.ndist[i + j*d] που βγάζει WRONG. Αφολύ άλλαξα και αυτό δηλαδή δούλεψε σε μένα.

Στείλε ένα μέιλ στον Φλώρο. Ότι bug βρίσκουμε να το αλλάζει γιατί στο online testing Θα έχει τα δικά του αρχεία.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: athanasps on November 25, 2019, 20:07:14 pm
Στείλε ένα μέιλ στον Φλώρο. Ότι bug βρίσκουμε να το αλλάζει γιατί στο online testing Θα έχει τα δικά του αρχεία.
Το άλλαξε κι αυτό οπότε κομπλέ. Δεν τεσταρα το online ακόμα αλλά λογικά δουλεύει,


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: dim2712 on November 25, 2019, 21:01:37 pm
Στον tester του mpi βέβαια δεν δημιουργεί index table οπότε υποθέτω θα πρέπει να δημιοργούμε εμείς τα indexes με βάση το pid του process γιατί τα θέι σε σειρά τα indexes στον tester, δηλαδή σε αντοστοιχία με τα τυχαία σημεία που δημιουργεί αρχικά.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: pesto80 on November 25, 2019, 22:13:57 pm
Μπορεί κάποιος να εξηγήσει τι εννοεί στο τέλος της εκφώνησης με το blocking της μνήμης ;

+1
γενικα το afternotes...


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
Post by: mano_lee on November 26, 2019, 02:32:45 am
Στο σημείο του αρχείου tester_helper.h όπου ελέγχεται η απόκλιση από το distxy, κάνει return 0 αν η απόκλιση ειναι μεγαλύτερη από 1e-8.

Από την OpenBLAS όμως από ό,τι φαίνεται, αντί για μηδενικές αποστάσεις, μπορεί να δημιουργηθούν αποστάσεις 0.00000001 και άρα ο έλεγχος εδώ να κάνει return 0, και άρα να βγάλει WRONG.

Το σφάλμα πρέκυψε με τον καινούριο tester, όπου αντί για την abs( ) χρησιμοποιείται η fabs( ).

Αν πρέπει να κρατήσουμε την fabs( ), το πρόβλημα λύνεται:
  • αν μεγαλώσουμε την απόκλιση που ελέγχει ο tester
  • αν κάνουμε έλεγχο στον κώδικά μας:
Code:
if(dist[i] < 0.00000001) 
      dist = 0.0

    Έστειλα και στον Φλώρο


    Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
    Post by: thanosthehuge on November 26, 2019, 13:00:10 pm

    Το πρόβλημα λύνεται:
    • αν μεγαλώσουμε την απόκλιση που ελέγχει ο tester
    • αν κάνουμε έλεγχο στον κώδικά μας:
    Code:
    if(dist[i] < 0.00000001) 
          dist = 0.0
      Εγώ πάντως παρατήρησα ότι και εκεί που γίνεται ο υπολογισμός των αποστάσεων με BLAS και μετά παίρνουμε το sqrt() του αποτελέσματος, επειδή όπως λες κάποιες τιμές αντί για μηδενικές είναι πολύ μικρες θετικές, κάποιες φορές το αποτέλεσμα της συνολικής πράξης βγαίνει αρνητικό και όταν το βάζουμε στην sqrt(), αυτή βγάζει -NaN αποτέλεσμα, αντί για 0.
      Οπότε μάλλον πρέπει να βάλουμε κάποιον έλεγχο εμείς όπου με το χέρι θα μηδενίζουμε τις τιμές, και δεν είναι τόσο θέμα του τεστερ.
      Ωραίος πάντως που το παρατήρησες αυτό.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: dim2712 on November 26, 2019, 16:04:06 pm
      +1
      γενικα το afternotes...

      αναφέρεται σε υλοποίηση threading αλλά δεν χρειάζεται, είναι απλά σημείωση για efficiency.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mikalaki on November 26, 2019, 19:54:03 pm
      Εγώ πάντως παρατήρησα ότι και εκεί που γίνεται ο υπολογισμός των αποστάσεων με BLAS και μετά παίρνουμε το sqrt() του αποτελέσματος, επειδή όπως λες κάποιες τιμές αντί για μηδενικές είναι πολύ μικρες θετικές, κάποιες φορές το αποτέλεσμα της συνολικής πράξης βγαίνει αρνητικό και όταν το βάζουμε στην sqrt(), αυτή βγάζει -NaN αποτέλεσμα, αντί για 0.
      Οπότε μάλλον πρέπει να βάλουμε κάποιον έλεγχο εμείς όπου με το χέρι θα μηδενίζουμε τις τιμές, και δεν είναι τόσο θέμα του τεστερ.
      Ωραίος πάντως που το παρατήρησες αυτό.

      +1 ,ετσι το σκέφτηκα και εγώ!


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: karelisp on November 26, 2019, 21:16:01 pm
      Ο τρόπος που ενώνονται στο τέλος τα knnresult στον mpi tester, δουλεύει μόνο για την row Major υλοποίηση , ή κανω λάθος.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Judas Priest saved me on November 27, 2019, 00:55:46 am
      Χωρίς να είμαι σίγουρος επειδή έχω κάνει row major υλοποίηση, νομίζω κάνεις λάθος.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: karelisp on November 27, 2019, 11:44:27 am
      Ο τρόπος που ενώνονται στο τέλος τα knnresult στον mpi tester, δουλεύει μόνο για την row Major υλοποίηση , ή κανω λάθος.

      Έστειλα mail στον κ. Φλώρο και μου είπε ότι έχω δίκιο, θα το διορθώσει κι αυτό.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: dim2712 on November 27, 2019, 16:31:50 pm
      Έχει βγάλει σε κανέναν ο tester failing at address nil
      segmentation fault 11;
      Είναι θέμα του tester καθώς δεν ξεκινάει καν το mpi programm παρα σκάει κατευθείαν. Δεν προλαβαίνει να φτάσει στις συναρτήσεις μου.
      Είναι σίγουρο ότι τα send του στέλνουν οκ τα δεδομένα; Γιατί ανάλογα με τo implementation συμβαίνουν διάφορα από πισω αν δεν είναι συγκεκριμένα Ssend


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Patui on November 27, 2019, 17:03:31 pm
       Συνανταει κανενας το αντιστοιχο ερρορ στον τεστερ του mpi ;
      *** Process received signal ***
      Signal: Aborted (6)
      Signal code:  (-6)


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: karelisp on November 27, 2019, 20:44:29 pm
      Συνανταει κανενας το αντιστοιχο ερρορ στον τεστερ του mpi ;
      *** Process received signal ***
      Signal: Aborted (6)
      Signal code:  (-6)


      Επιβεβαιώνω ότι παίρνω το ίδιο σφάλμα, για μικρά n και d, ενώ για μεγαλύτερα το πρόγραμμα φαίνεται να τρέχει για πάντα. Για κάποιο λόγο δεν γίνεται το MPI_Recv() νομίζω.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Μπουγάτσας on November 27, 2019, 22:05:20 pm
      Μπορεί κάποιος που είναι σίγουρος να απαντήσει στο αν τα processes στέλνουν/λαμβάνουν μεταξύ τους το corpus(X) ή το query(Y) ;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alekosts on November 27, 2019, 22:47:45 pm
      Εν τέλει πως κάνεις complile με mpicc και την cblas ; Κάνω εγκατάσταση την openblas(module load openblas)  χρησιμοποιώ το -lopenblas αλλα παίρνω το error που αναφέρθηκε προηγουμένως. (fatal error: cblas.h: No such file or directory)


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mano_lee on November 28, 2019, 12:22:07 pm
      Εν τέλει πως κάνεις complile με mpicc και την cblas ; Κάνω εγκατάσταση την openblas(module load openblas)  χρησιμοποιώ το -lopenblas αλλα παίρνω το error που αναφέρθηκε προηγουμένως. (fatal error: cblas.h: No such file or directory)

      Sorry ξέχασα να γράψω τη λύση.

      1) Κάνουμε module load gcc openmpi openblas όπως είπες
      2) Κάνουμε το gcc έτσι: gcc -L$OPENBLAS_ROOT/lib -lopenblas code.c (ή mpicc αντίστοιχα)

      Προσοχή όμως στο Makefile, όπου το -L$OPENBLAS_ROOT/lib πρέπει να γίνει -L$(OPENBLAS_ROOT)/lib αλλιώς νομίζω το βλέπει σαν μεταβλητή :)

      P.S. Από το support του Αριστοτέλη μου είπαν να κάνω gcc -Ι$OPENBLAS_ROOT/include code.c, αλλά εμένα δούλεψε όπως το περιέγραψα παραπάνω


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mano_lee on November 28, 2019, 17:33:49 pm
      Μπορεί κάποιος που είναι σίγουρος να απαντήσει στο αν τα processes στέλνουν/λαμβάνουν μεταξύ τους το corpus(X) ή το query(Y) ;

      Επειδή έχω την ίδια απορία, αναδιατυπώνω μήπως κάποιος μπορεί να απαντήσει σε αυτό:

      Το κάθε process, θα επιστρέψει τους kNN όλου του corpusAll από το corpus που του στέλνουμε, η τους kNN του corpus που του στέλνουμε από όλο το corpusAll?


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/2
      Post by: pesto80 on November 28, 2019, 17:44:26 pm
      Επειδή έχω την ίδια απορία, αναδιατυπώνω μήπως κάποιος μπορεί να απαντήσει σε αυτό:

      Το κάθε process, θα επιστρέψει τους kNN όλου του corpusAll από το corpus που του στέλνουμε, η τους kNN του corpus που του στέλνουμε από όλο το corpusAll?

      φιλε μου, εγω καταλαβαινω οτι θα επιστρεφει τους knn του corpus που του στειλαμε (σταθερο) πανω στο corpusAll (το οποιο θα περασει σε κομματια πανω στο υπαρχον process)


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: thanosthehuge on November 28, 2019, 20:07:58 pm
      Στον υπολογιστή μας θα έπρεπε να βλέπουμε κάποια βελτίωση όταν κρύβουμε τις επικοινωνίες (async), ή αυτό γίνεται φανερό μόνο όταν το δοκιμάσουμε στη συστοιχία???


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Patui on November 28, 2019, 20:56:43 pm
      Ο τελικος πινακας του corpusAll , θα πρεπει να εχει p φορες το result της distrAll ? Με τα indexes τι ακριβως γινεται ; Παιρνουμε σαν αναφορα του local corpus αναλογα με το taskid ;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alekosts on November 28, 2019, 21:51:32 pm
      Στο bash script για την υποβολή στον server, σας τρέχει με το #SBATCH --partition=batch ή πρέπει να το σβήσουμε;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Μπουγάτσας on November 28, 2019, 22:23:20 pm
      Ο τελικος πινακας του corpusAll , θα πρεπει να εχει p φορες το result της distrAll ? Με τα indexes τι ακριβως γινεται ; Παιρνουμε σαν αναφορα του local corpus αναλογα με το taskid ;
      Ο corpusAll νομίζω απλά έχει όλα τα σημεία που μοιράστηκαν στα processes. Το αποτέλεσμα του κάθε distrAll επιστρέφεται και συνδέεται στο process 0 στο knnresall αν θυμάμαι καλά που είναι και το τελικό αποτέλεσμα.
      Για τα indexes πρέπει κάθε φορά να ξες ποιο μπλοκ επεξεργάζεται από πιο προσες έτσι ώστε να γίνει ο σωστός μετασχηματισμός.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: dim2712 on November 28, 2019, 22:28:11 pm
      δεν χρησιμοποιούμε το batch εχουμε dedicated partition τσέκαρε elearning
      Επίσης για mpi χρησιμοποιείτε srun που λέει η κανονικά mpirun;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mano_lee on November 29, 2019, 00:11:54 am
      δεν χρησιμοποιούμε το batch εχουμε dedicated partition τσέκαρε elearning
      Επίσης για mpi χρησιμοποιείτε srun που λέει η κανονικά mpirun;

      Νομίζω srun καλύτερα γιατί παίρνει τα ορίσματα που δίνεις στην αρχή του batchfile (για nodes και cores).


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: dim2712 on November 29, 2019, 03:29:22 am
      To ρωτάω γιατί μου βγάζει illegal instruction


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alekosts on November 29, 2019, 04:06:20 am
      To ρωτάω γιατί μου βγάζει illegal instruction

      +1


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: dim2712 on November 29, 2019, 04:19:45 am
      Έστειλα μέιλ θα μάθουμε


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mano_lee on November 29, 2019, 04:45:32 am
      Ισχύει και σε μένα το βγάζει. Πάντως προχθές έτρεξε κανονικά, μου έβγαλε δηλαδή και στο τέλος το CORRECT NEIGHBORS. Μάλλον κάτι προέκυψε τώρα.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mano_lee on November 29, 2019, 04:55:54 am
      Sorry ξέχασα να γράψω τη λύση.

      1) Κάνουμε module load gcc openmpi openblas όπως είπες
      2) Κάνουμε το gcc έτσι: gcc -L$OPENBLAS_ROOT/lib -lopenblas code.c (ή mpicc αντίστοιχα)

      Προσοχή όμως στο Makefile, όπου το -L$OPENBLAS_ROOT/lib πρέπει να γίνει -L$(OPENBLAS_ROOT)/lib αλλιώς νομίζω το βλέπει σαν μεταβλητή :)

      P.S. Από το support του Αριστοτέλη μου είπαν να κάνω gcc -Ι$OPENBLAS_ROOT/include code.c, αλλά εμένα δούλεψε όπως το περιέγραψα παραπάνω

      Για κάποιον λόγο ενώ δούλευε όπως λέω παραπάνω ξαφνικά άρχισε πάλι να μη βρίσκει την openblas. Άρα κάνω τα ακόλουθα:

      Έστω ότι έχουμε τo LDFLAG = -L$(OPENBLAS_ROOT)/lib -lopenblas και το INCFLAG = -I$(OPENBLAS_ROOT)/include.

      Στα gcc και mpicc που κάνω για την δημιουργία των βιβλιοθηκών, χρησιμοποιώ μόνο το $(INCFLAG).
      Στα gcc και mpicc που κάνω για το compile του tester με την βιβλιοθήκη, χρησιμοποιώ και το $(INCFLAG) και το $(LDFLAG).

      (Προφανώς και όποιο άλλο flag χρειάζεται, αλλά αναφέρομαι μόνο στην openblas)


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Μπουγάτσας on November 29, 2019, 16:30:43 pm
      Για το non-blocking κομμάτι η εκφώνηση αναφέρεται σε 3 buffer (X,Y,Z) όπου στον Ζ αποθηκεύουμε απλά τα incoming points. Ωστόσο απότι διαβάζω οι περισσότεροι αναφέρουν οτι μετά την MPI_Isend είναι καλό να μη δουλεύεις με τον buffer που έστειλες. Άρα αυτό σημαίνει πως θα χρειαστούμε κι άλλον buffer. Γνωρίζει κανείς να βοηθήσει;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alekosts on November 29, 2019, 19:24:16 pm
      Έστειλα μέιλ θα μάθουμε
      Έχουμε κανένα νέο;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: dim2712 on November 29, 2019, 20:15:34 pm
      Aκόμα τίποτα και αυτό δεν είναι καλό γιατί έρχεται σαββατοκύριακο :(


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: dim2712 on November 29, 2019, 20:16:36 pm
      Για το non-blocking κομμάτι η εκφώνηση αναφέρεται σε 3 buffer (X,Y,Z) όπου στον Ζ αποθηκεύουμε απλά τα incoming points. Ωστόσο απότι διαβάζω οι περισσότεροι αναφέρουν οτι μετά την MPI_Isend είναι καλό να μη δουλεύεις με τον buffer που έστειλες. Άρα αυτό σημαίνει πως θα χρειαστούμε κι άλλον buffer. Γνωρίζει κανείς να βοηθήσει;
      Εγώ πάντως που δούλεψα δεν είχα κάποιο θέμα.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: superdonut on November 30, 2019, 00:14:06 am
      παιρνει κανεις αλλος στον online tester στο e-learning σφαλμα στο mpi time limit exceeded?    :D


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mikalaki on November 30, 2019, 01:09:30 am
      παιρνει κανεις αλλος στον online tester στο e-learning σφαλμα στο mpi time limit exceeded?    :D
      ναι και εγώ το παίρνω δεν ξέρω τι φάση...


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: dim2712 on November 30, 2019, 02:38:53 am
      Γενικά οι πόροι του online tester είναι γτπ..μόνο local validation :D


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mikalaki on November 30, 2019, 02:51:44 am
      Γενικά οι πόροι του online tester είναι γτπ..μόνο local validation :D

      +1


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alekosts on November 30, 2019, 17:10:50 pm
      Να ρωτήσω ρε παιδιά, μετα την distrallknnn, στα περισσότερα σημεία αν όχι σε όλα, το πιο κοντινό σημείο τους δεν θα είναι ο εαυτός τους; Μας νοιάζει αυτό ή το παραβλέπουμε για πάρουμε correct στο validation;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: DarkTakis on November 30, 2019, 17:16:31 pm
      Να ρωτήσω ρε παιδιά, μετα την distrallknnn, στα περισσότερα σημεία αν όχι σε όλα, το πιο κοντινό σημείο τους δεν θα είναι ο εαυτός τους; Μας νοιάζει αυτό ή το παραβλέπουμε για πάρουμε correct στο validation;

      Πρέπει να παρεις και τον εαυτό σου σαν γείτονα αλλιώς η tester του elearning δεν λειτουργεί. Ουσιαστικά ο πρώτος σου γείτονας ειναι ο εαυτός σου
      sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy)  


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Μπουγάτσας on November 30, 2019, 18:19:55 pm
      Όταν στο sequential δίνω n=40.000 και κρατάω μικρό το d(4-5), η cblas_dgemm κρασαρει και παίρνω segmentation fault. Έχει κανείς άλλος το ίδιο θέμα ;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: superdonut on November 30, 2019, 19:26:49 pm
      Γενικα υπαρχει κανεις που να του δουλευει ο τεστερ online ?


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alekosts on November 30, 2019, 19:57:48 pm
      Eχουμε κανένα νέο με το pdlabs και το error Illegal instruction, προκαλείται απο την cblas_dgemm αλλά στο batch partition δεν έχει θέμα(αν καταφέρεις και πάρεις πόρους να το τρέξεις).


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Florence on November 30, 2019, 23:12:57 pm
      Υπάρχει κάποιος που στο online validation για το MPI παίρνει CORRECT NEIGHBORS αλλά του βγαζει και segmentation Fault? Συγκεκριμενα το μήνυμα BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES? Τοπικα δουλευει κανονικα ενώ επίσης εχω ελεγξει για memory leaks και δεν υπαρχουν.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: athanasps on December 01, 2019, 00:55:45 am
      Υπάρχει κάποιος που στο online validation για το MPI παίρνει CORRECT NEIGHBORS αλλά του βγαζει και segmentation Fault? Συγκεκριμενα το μήνυμα BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES? Τοπικα δουλευει κανονικα ενώ επίσης εχω ελεγξει για memory leaks και δεν υπαρχουν.

      Εμένα δεν μου βγάζει CORRECT αλλά όλα τα άλλα τα έχω και δουλεύει επίσης κανονικά τοπικά... Έχω τεστάρει και όλα τα mallocs μου μήπως δεν βγαίνουν σωστά και τίποτα.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Μπουγάτσας on December 01, 2019, 13:47:51 pm
      Έχει τρέξει κανείς sequential ή MPI στο pdlabs partition αυτες τις μέρες ; Απο χθες που προσπαθω παίρνω illegal instruction


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: karelisp on December 01, 2019, 14:35:05 pm
      Όταν στο sequential δίνω n=40.000 και κρατάω μικρό το d(4-5), η cblas_dgemm κρασαρει και παίρνω segmentation fault. Έχει κανείς άλλος το ίδιο θέμα ;

      Αυτό πολύ πιθανόν συμβαίνει επειδή οταν δεσμεύεις μνήμη για τον πίνακα D, στο όρισμα της malloc() κάνεις τον πολλαπλασιασμό n*n*sizeof(double) και τo αποτέλεσμα είναι 128*10^8 που δεν χωράει σε int. Ίσως αν κάνεις κάποιο cast σε long long int να επιλυθεί το πρόβλημα. Επίσης αυτή η διαδικασία χρειάζεται 12.8GB μνήμης RAM.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alekosts on December 01, 2019, 15:50:29 pm
      Έχει τρέξει κανείς sequential ή MPI στο pdlabs partition αυτες τις μέρες ; Απο χθες που προσπαθω παίρνω illegal instruction
      Κάποιο πρόβλημα έχει με την cblas_dgemm αλλα δεν ξέρω πως μπορεί να διορθώνεται.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alekosts on December 01, 2019, 15:51:08 pm
      Καμια παράταση θα παιχτεί;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: xaotikos on December 01, 2019, 15:53:44 pm
      Καμια παράταση θα παιχτεί;

      Επιβάλλεται. Του χει στείλει κάποιος μέιλ;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mano_lee on December 01, 2019, 16:10:41 pm
      Επιβάλλεται. Του χει στείλει κάποιος μέιλ;

      Ο φλώρος στο μάθημα είπε γράψτε την αναφορά και θα σας δώσουμε χρόνο μετά το deadline για να τρέξετε πειράματα στη συστοιχία. Τώρα τι νόημα έχει να γράψουμε αναφορά χωρίς πειράματα δεν το ξέρω.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alekosts on December 01, 2019, 17:13:25 pm
      Έχουμε χάσει άπειρο χρόνο με την συστοιχία  :'( ! Έστω και 1-2 μερες παράταση θα είναι σωτήρια !


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Judas Priest saved me on December 01, 2019, 18:52:59 pm
      Ναι είπε στο μάθημα θα υπάρχει μια μικρή παράταση αλλά στο ελεαρνινγκ δεν εχει αλλαξει κατι στο deadline ακομα...


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: athanasps on December 01, 2019, 20:47:48 pm
      Αν δεν αλλάξει το illegal instruction ή οι τρολλιες στο elearning, όσο παράταση και να μας δώσουν δεν υπάρχει σωτηρία με αυτά που έχουμε μπλέξει..  :-\


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mano_lee on December 01, 2019, 21:55:00 pm
      Εγώ έστειλα μειλ να του πω ότι δεν έχει τρέξει κανείς στη συστοιχία, άρα δεν έχει νόημα να ανεβάσουμε αναφορά τώρα. Αν θέλετε κάντε το ίδιο.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: ytsejam on December 01, 2019, 22:14:42 pm
      Στο elearning μου λέει ότι δεν βρίσκει το mpi.h και δεν μπορεί να κάνει compile.
      Μπορεί κάποιος να δώσει τα φώτα του?

      -Αν δεν περάσουμε σε κάποιον tester χάνουμε και το μάθημα??


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mano_lee on December 01, 2019, 22:34:09 pm
      Στο elearning μου λέει ότι δεν βρίσκει το mpi.h και δεν μπορεί να κάνει compile.
      Μπορεί κάποιος να δώσει τα φώτα του?

      -Αν δεν περάσουμε σε κάποιον tester χάνουμε και το μάθημα??

      Μήπως αντί για knnring.h έχεις mpi.h ??? Γενικά ο φλώρος δεν ψαχνει για κάποιο mpi.h στο elearning. Όπως και να χει ακόμα και να το καταφέρεις, μετά θα σου βγάλει λογικά ***Time limit exceeded*** :D


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: ytsejam on December 01, 2019, 22:39:47 pm
      Μήπως αντί για knnring.h έχεις mpi.h ??? Γενικά ο φλώρος δεν ψαχνει για κάποιο mpi.h στο elearning. Όπως και να χει ακόμα και να το καταφέρεις, μετά θα σου βγάλει λογικά ***Time limit exceeded*** :D

      στο inc/ έχω φυσικά το knnring.h . Αλλά στον κώδικα χρειάζεται να κάνουμε #include <mpi.h> (ή "mpi.h" - δοκίμασα και τα δύο με το ίδιο αποτέλεσμα).


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mano_lee on December 01, 2019, 22:43:29 pm
      στο inc/ έχω φυσικά το knnring.h . Αλλά στον κώδικα χρειάζεται να κάνουμε #include <mpi.h> (ή "mpi.h" - δοκίμασα και τα δύο με το ίδιο αποτέλεσμα).

      Τότε λογικά στο Makefile που κάνεις το make lib, αντί για mpicc κάνεις gcc στο test_mpi.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: pesto80 on December 01, 2019, 22:46:42 pm
      Ακομα και οταν τρεχουμε στο pc μας locally και οχι στη συστοιχια, θεωρητικα τα mpi πρεπει να παραγουν καλυτερο χρονο απο το sequntial;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: superdonut on December 01, 2019, 22:50:05 pm
      Μήπως αντί για knnring.h έχεις mpi.h ??? Γενικά ο φλώρος δεν ψαχνει για κάποιο mpi.h στο elearning. Όπως και να χει ακόμα και να το καταφέρεις, μετά θα σου βγάλει λογικά ***Time limit exceeded*** :D
      ;D


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: athanasps on December 01, 2019, 22:52:18 pm
      Ακομα και οταν τρεχουμε στο pc μας locally και οχι στη συστοιχια, θεωρητικα τα mpi πρεπει να παραγουν καλυτερο χρονο απο το sequntial;

      Όχι, γιατί ουσιαστικά το MPI δεν είναι για παράλληλο προγραμματισμό, αφού κάθε φορά που καλείς τις send/receive έχεις αρκετή καθυστέρηση.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Florence on December 02, 2019, 01:02:10 am
      Mαλλον περιμεναν να αλλαξει η μερα για να δωσουν παραταση.......


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Patui on December 02, 2019, 19:25:33 pm
      Εβγαλε κανενας ακρη με τον online tester στο e-learning για τον mpi και το ακυρο segmentation fault που σκαει ; Μιλησα με Φλωρο και μου ειπε να τσεκαρω ολες τις μαλλοκ που κανω αλλα δεν εχουνε καποιο θεμα οταν τις τεσταρα με print error message .


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: DarkTakis on December 02, 2019, 19:35:45 pm
      Γενικά χάνουμε μονάδες άμα δεν περνάει ο κώδικας στο elearning; Αφού τρέχει στον υπολογιστή, αρα το θέμα είναι ότι δεν υπάρχουν αρκετοί πόροι στο σύστημα. Γενικά κατάλαβα ότι τον tester του elearning μας τον έχουν δώσει για να μας δώσουν τα αρχεία να το τεσταρουμε. Οπότε άμα λειτουργεί στον υπολογιστή μας δεν νομίζω ότι πρέπει να μας απασχολεί η συμπεριφορά του elearning. Το πρόβλημα αυτή την στιγμή νομίζω είναι ότι δεν λειτουργεί το srun.
      sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mano_lee on December 02, 2019, 21:19:48 pm
      Γενικά χάνουμε μονάδες άμα δεν περνάει ο κώδικας στο elearning; Αφού τρέχει στον υπολογιστή, αρα το θέμα είναι ότι δεν υπάρχουν αρκετοί πόροι στο σύστημα. Γενικά κατάλαβα ότι τον tester του elearning μας τον έχουν δώσει για να μας δώσουν τα αρχεία να το τεσταρουμε. Οπότε άμα λειτουργεί στον υπολογιστή μας δεν νομίζω ότι πρέπει να μας απασχολεί η συμπεριφορά του elearning. Το πρόβλημα αυτή την στιγμή νομίζω είναι ότι δεν λειτουργεί το srun.
      sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy)  

      Συμφωνώ. Γενικά για το srun ας σπαμμαρουμε όλοι στην αναφορά σφαλμάτων μπας και το φτιάξουν.

      Όσο για το elearning, προφανώς έχει θέμα το elearning Γιατί ακόμα και να τρέξει κανονικά ο κώδικας εμφανίζει time limit exceeded.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mano_lee on December 03, 2019, 18:26:57 pm
      Απάντηση από τη συστοιχία σχετικά με το illegal instruction:

      Quote
      πράγματι επιβεβαιώνω ότι υπάρχει πρόβλημα όταν χρησιμοποιείται η openblas στην ουρά (partition) pdlabs και οφείλεται στο ότι η openblas έχει γίνει compile συγκεκριμένα για μηχανήματα της ουράς batch.

      Για να λυθεί το πρόβλημα θα χρειαστεί να κάνεις ξανά compile την εφαρμογή χρησιμοποιώντας την netlib-lapack που δεν κάνει aggressive optimizations αντί για την openblas (και οι δύο παρέχουν τη βιβλιοθήκη cblas).

      Αυτό σημαίνει ότι θα πρέπει να φορτώνεις τα εξής modules:

      module load gcc openmpi netlib-lapack

      και ότι επίσης θα πρέπει να χρησιμοποιείς τα εξής INCLUDE flags: "-I$(NETLIB_LAPACK_ROOT)/include”, και τα εξής LINKER flags: "-L$(NETLIB_LAPACK_ROOT)/lib64 -lcblas” κατά το compilation και linking της εφαρμογής.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: dim2712 on December 03, 2019, 19:41:51 pm
      Παιρνει  κανείς segfault adress not mapped με αυτα τα links;
      Με το ιδιο κωδικα που τρέχω locally αφού κάνει compile στο cluster μετα την srun σκάει με αυτό το error


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alekosts on December 04, 2019, 02:52:46 am
      Καταφέρνει κανείς να βελτιώσει τον αλγόριθμο με no blocking communication ; Γιατί σε εμένα τρέχει σωστά αλλά χωρίς καμία βελτίωση σε χρόνο


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: thanosthehuge on December 04, 2019, 11:28:46 am
      Καταφέρνει κανείς να βελτιώσει τον αλγόριθμο με no blocking communication ; Γιατί σε εμένα τρέχει σωστά αλλά χωρίς καμία βελτίωση σε χρόνο

      Same here... Ακόμα και στο cluster σε 4 διαφορετικά nodes, το asnyc μου βγάζει σχεδον ίδιους χρόνους με το sync μου...


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: pesto80 on December 04, 2019, 19:18:59 pm
      Παιρνει  κανείς segfault adress not mapped με αυτα τα links;
      Με το ιδιο κωδικα που τρέχω locally αφού κάνει compile στο cluster μετα την srun σκάει με αυτό το error

      Θεωρητικα νομιζω locally με αυτα τα flags που ειπαν δεν θα επρεπε να τρεχει εκτος αν εχεις την netlib-lapack


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: dim2712 on December 04, 2019, 19:22:37 pm
      Locally το τρέχω με openblas και τρέχει κομπλέ .
      Στο cluster βγαίνει το πρόβλημα με την lapack...στο cluster το sequential τρέχει to mpi έχει θεμα


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Patui on December 05, 2019, 01:15:54 am
      Θεωρουν τον εαυτο τους πολυ εξυπνο οσοι βαζουν στον hpc 500 jobs για την παρτη τους και μονο ????


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: dim2712 on December 05, 2019, 02:06:41 am
      Θεωρουν τον εαυτο τους πολυ εξυπνο οσοι βαζουν στον hpc 500 jobs για την παρτη τους και μονο ????
      +1


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mikalaki on December 05, 2019, 02:14:44 am
      ξερουμε τα username σας  :D :D


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alextsigilis on December 05, 2019, 04:35:08 am
      Locally το τρέχω με openblas και τρέχει κομπλέ .
      Στο cluster βγαίνει το πρόβλημα με την lapack...στο cluster το sequential τρέχει to mpi έχει θεμα

      Έχω παρόμοιο πρόβλημα.
      Μου βγάζει
      Parameter 14 to routine cblas_dgemm  was incorrect


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: dim2712 on December 05, 2019, 21:39:43 pm
      μάλλον ο header που είχες χρησιμοποιήσει ήταν διαφορετικός απόο της lapack, μια αλλαγή του dgemm ποτ χρησιμοποιείς λογικά θα λύσει το πρόβλημα.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: mano_lee on December 06, 2019, 02:08:37 am
      Η εργασία πήρε παράταση μέχρι Τρίτη 10/12


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alextsigilis on December 06, 2019, 20:11:20 pm
      Και εσεις όταν τρεχετε το synchronous στην συστοιχία, είναι πιο γρήγορο όταν έχει πολλα nodes και λιγα task per node απ'οτι αν έχει λιγα nodes και πολλα tasks per node;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: DarkTakis on December 06, 2019, 20:36:48 pm
      Και εσεις όταν τρεχετε το synchronous στην συστοιχία, είναι πιο γρήγορο όταν έχει πολλα nodes και λιγα task per node απ'οτι αν έχει λιγα nodes και πολλα tasks per node;

      ναι. Λογικά τρωει overhead το node και θα πηγαίνει σειριακά οπότε είναι καλύτερα να βαλεις περισσότερα nodes
      sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alextsigilis on December 06, 2019, 21:10:15 pm
      ναι. Λογικά τρωει overhead το node και θα πηγαίνει σειριακά οπότε είναι καλύτερα να βαλεις περισσότερα nodes
      sent from mTHMMY (https://play.google.com/store/apps/details?id=gr.thmmy.mthmmy) 

      Τι εννοείς θα τρώει overhead;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: DarkTakis on December 06, 2019, 21:48:13 pm
      Τι εννοείς θα τρώει overhead;

      Τελος πάντων εννοώ ότι τρεχουν σε ίδιο πσ και οχι και τοσο παράλληλα. Πχ και εσυ μπορείς να βάλεις στο πσ σου mpirun -n 8 αλλα αν το πσ πχ έχει 4 threads ε δεν τρέχουν παράλληλα και το ενα επηρεάζει το αλλο. οπότε είναι καλύτερα να τα βάλεις σε διαφορετικό node για να τρέχουν οσο πιο ανεξάρτητα γίνεται. εγω ετσι το εξηγώ.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alekosts on December 07, 2019, 23:38:44 pm
      Το communication time πόσο πρέπει να είναι σε σχέση με το computation time που χρείαζεται να εκτελέσει τον knn? Σε εμένα είναι τουλάχιστον 10 με 20 φορές μικρότερο με αποτέλεσμα το async να κερδίζει 0,5 sec στα 16 sec του sync με 32 επεξεργαστές. Είναι κομπλέ αυτό ή θα έπρεπε να περιμένω κάτι καλύτερο?


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: pesto80 on December 08, 2019, 20:03:35 pm
      synchronous asynchronous παρατηρειτε διαφορα;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: athanasps on December 08, 2019, 20:19:21 pm
      μηπως εχει κανενας αλλος αυτο το σφαλμα?

      [cn118][[63485,0],2][btl_tcp_frag.c:130:mca_btl_tcp_frag_send] mca_btl_tcp_frag_send: writev error (0x7f133d0d4e70, 700000)
      Bad address(1)
       
      srun: error: cn118: task 2: Exited with exit code 255
      slurmstepd: error: *** STEP 129021.0 ON cn116 CANCELLED AT 2019-12-05T19:19:39 ***
      [cn118][[63485,0],2][btl_tcp_frag.c:130:mca_btl_tcp_frag_send] mca_btl_tcp_frag_send: writev error (0x7f133d02a010, 700000)
      Bad address(1)
       
      [cn118.it.auth.gr:29291] pml_ob1_sendreq.c:308 FATAL

      για καποιο λογο ενω τρεχει σωστα τοπικα και για 1 node οταν το βαζω για πολλα δεν τρεχει καθολου...


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Judas Priest saved me on December 08, 2019, 21:03:44 pm
      Όταν κάνω compile στην συστοιχία , με βγάζει cblas.h: No such file or directory. Μήπως πρέπει να κάνω include κάτι αλλο ?


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alekosts on December 08, 2019, 21:47:54 pm
      synchronous asynchronous παρατηρειτε διαφορα;
      +1


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: pesto80 on December 08, 2019, 21:55:06 pm
      Όταν κάνω compile στην συστοιχία , με βγάζει cblas.h: No such file or directory. Μήπως πρέπει να κάνω include κάτι αλλο ?

      χρησιμοποιείς το πακέτο lapack που αναφέρεται πιο πάνω;


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Judas Priest saved me on December 08, 2019, 21:58:14 pm
      χρησιμοποιείς το πακέτο lapack που αναφέρεται πιο πάνω;

      οχι


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Patui on December 08, 2019, 22:50:55 pm
      Υπερβολικα μικρες οι διαφορες στο sych vs asyc , σε μερικες περιπτωσεις μπορω να πω οτι το sych ηταν και γρηγοροτερο  :o


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: alextsigilis on December 09, 2019, 00:44:59 am
      Υπερβολικα μικρες οι διαφορες στο sych vs asyc , σε μερικες περιπτωσεις μπορω να πω οτι το sych ηταν και γρηγοροτερο  :o

      Λογικά δεν είναι οι επικοινωνίες το bottleneck, όποτε δεν πρέπει να βλέπεις μεγάλη διαφορά.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/2
      Post by: pesto80 on December 09, 2019, 14:32:04 pm
      οχι

      Απάντηση από τη συστοιχία σχετικά με το illegal instruction:

      Quote
      πράγματι επιβεβαιώνω ότι υπάρχει πρόβλημα όταν χρησιμοποιείται η openblas στην ουρά (partition) pdlabs και οφείλεται στο ότι η openblas έχει γίνει compile συγκεκριμένα για μηχανήματα της ουράς batch.

      Για να λυθεί το πρόβλημα θα χρειαστεί να κάνεις ξανά compile την εφαρμογή χρησιμοποιώντας την netlib-lapack που δεν κάνει aggressive optimizations αντί για την openblas (και οι δύο παρέχουν τη βιβλιοθήκη cblas).

      Αυτό σημαίνει ότι θα πρέπει να φορτώνεις τα εξής modules:

      module load gcc openmpi netlib-lapack

      και ότι επίσης θα πρέπει να χρησιμοποιείς τα εξής INCLUDE flags: "-I$(NETLIB_LAPACK_ROOT)/include”, και τα εξής LINKER flags: "-L$(NETLIB_LAPACK_ROOT)/lib64 -lcblas” κατά το compilation και linking της εφαρμογής.


      Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 2 - 2019/20
      Post by: Judas Priest saved me on December 09, 2019, 17:43:26 pm
      Ωραίος δεν το είχα προσέξει αυτο το ποστ.