Title: [Cuda+mex] Περιεργη συμπεριφορα k-means Post by: Αιμιλία η φτερωτή χελώνα on April 04, 2016, 12:59:55 pm Χαιρετε.
Εχω ενα προβλημα με αυτον εδω τον κωδικα http://autogpu.ee.auth.gr/doku.php?id=gpu_accelerated_k-means_toolbox_for_matlab Εχω 2 pc, με Ubuntu 14.04, Matlab R2015a και Cuda 7.5 και τα 2. Απο τα διαφορα αρχεια που εχει μεσα για compile, εγω ενδιαφερομαι μονο για το cudaKmeans, τα υπολοιπα που ειναι για τα τεστς ας τα ξεγραψουμε. Στο ενα pc κανω compile και μετα οταν τρεχω στο matlab το mex αρχειο που βγαζει, ο χρονος εκτελεσης της k-means ειναι περιπου ~0.1 δευτερολεπτο για 100.000 σημεια με 100 διαστασεις. Αυτο εχει gpu GTX 260. Επισης σε αυτο το μηχανημα δε μου επιστρεφει καμια NaN τιμη στα κεντρα του k-means. Στο αλλο pc κανω ακριβως τον ιδιο κωδικα compile και ο χρονος εκτελεσης ειναι ~60 δευτερολεπτα. Αυτο εχει gpu GT 740. Σε αυτο το μηχανημα μου επιστρεφει καμποσες NaN τιμες στα κεντρα του k-means. Αλλα τεσπα, ας πουμε οτι τα NaN δε με ενδιαφερουν. Υποπτευομαι πως κατι παιζει με το cublas και γιαυτο οι χρονοι ειναι τοσο διαφορετικοι, αλλα στο compile δε μου βγαζει καποιο ερρορ ή κατι τετοιο. Καμια ιδεα για το τι παιζει; ΥΓ: Να συμπληρωσω οτι ακομη κι αν παρω το .mexa64 αρχειο που εχω κανει compile απο το 1ο πισι και το αντιγραψω στο 2ο και το τρεξω, παλι θα τρεξει σε ~60 δευτερολεπτα. ΥΓ2: Πριν καταφερω να κανω compile στο 2ο πισι, μου πετουσε αυτο το ερρορ nvcc fatal : path to libdevice library not specified Title: Re: [Cuda+mex] Περιεργη συμπεριφορα k-means Post by: Σα τανυστής on April 04, 2016, 15:35:49 pm χωρις να νιωθω πολυ απο τα tools που χρησιμοποιεις, μια πιθανη αιτια για αυτο που περιγραφεις θα μπορουσε να ειναι οτι ο αλγοριθμος τρεχει με διαφορετικα κεντρα.
Μπορει πχ να δινεις ενα random seed και στα μηχανηματα να μεταφραζεται διαφορετικα. Δοκιμασες να το κανεις με fixed κεντρα? εχεις και στα 2 μηχανηματα ολα τα dependecies στα ιδια versions? Και στα 2 τρεχουν μονο αυτα η πχ στο αλλο εχεις και τιποτα απο πισω να σου τρωει μνημη ? Επισης ισως να βοηθουσε να το τρεξεις σε κανα διαδη η σε καποιο 3ο μηχανημα πριν σπας το κεφαλι σου. Title: Re: [Cuda+mex] Περιεργη συμπεριφορα k-means Post by: Αιμιλία η φτερωτή χελώνα on April 04, 2016, 16:31:42 pm Δεν ειναι θεμα αρχικοποιησης κεντρων οποτε δε δοκιμασα να του αρχικοποιησω εγω τα κεντρα. :P
Για τα dependencies δε ξερω πως να τα ελεγξω ολα :P Τουλαχιστον οσα ειναι προφανη, τα εχω ναι. Απο πισω δεν τρεχει κατι αλλο. Να το τρεξω σε 3ο δε νομιζω να με βοηθησει :D Title: Re: [Cuda+mex] Περιεργη συμπεριφορα k-means Post by: 4Dcube on April 04, 2016, 17:23:00 pm Γιατί 2 υπολογιστές, εννοώ, υπάρχει ιδιαίτερος λόγος που πρέπει να τρέξει ή απλά έχεις περιέργεια; Αυτό μπορεί και να καθορίζει την επίδοση του καθενός μηχανήματος.
Τα specs του host PC δεν παίζουν ρόλο καθόλου κατά την εκτέλεση παρά μόνο τα gpu; Μπορεί το gpu με την περιορισμένη μνήμη του να αναλάβει τόσο τεράστιο όγκο δεδομένων; Μήπως θέλει λίγη βοήθεια από το host PC, άρα παίζει ρόλο και το RAM bandwidth της κάθε κάρτας; Βλέπω π.χ. ότι η gtx 260 έχει 111.9 και η gt 740 έχει 28.8 GB/sec. Ή είναι το memory interface; Δεν έχω ασχοληθεί με gpu's, ρωτάω μπας και εξηγώντας καταλάβεις αν σου ξέφυγε τίποτα. Title: Re: [Cuda+mex] Περιεργη συμπεριφορα k-means Post by: Αιμιλία η φτερωτή χελώνα on April 04, 2016, 18:53:01 pm Θα σε γελασω ρε κυβε, και γω μη νομιζεις οτι σκαμπαζω πολυ.
Αυτο με την cublas σαν μια σκεψη το ειπα, μπορει να μην εχει σχεση και να ειναι κατι σχετικο με το ram bandwidth που λες... ΥΓ: 2 υπολογιστες γιατι ειναι σταθεροι και εγω μετακινουμαι. :P Title: Re: [Cuda+mex] Περιεργη συμπεριφορα k-means Post by: Grecs on April 04, 2016, 20:44:15 pm Φορματ και βαλε windows ;D ;D
Reverse joke Title: Re: [Cuda+mex] Περιεργη συμπεριφορα k-means Post by: Gaara on April 04, 2016, 22:05:21 pm Βάλε το nvidia-smi και κάνε monitor όταν τα τρέχεις.
Ποσταρε μερικά screenshots να δούμε τι γίνεται. Με ένα wild guess με τα λίγα που μας είπες είναι ότι ο κώδικας γραμμένος το 2012 έχει αρκετά hardcodes για εκείνη την γειτονιά των gpus για Tesla και Fermi architectures, οπότε πιθανόν να είναι θέμα optimization. Title: Re: [Cuda+mex] Περιεργη συμπεριφορα k-means Post by: Αιμιλία η φτερωτή χελώνα on April 05, 2016, 10:03:45 am Φορματ και βαλε windows ;D ;D μεχρι προχτες το ετρεχα και σε windows και εκανε κι εκει ~60 δευτερολεπτα :PReverse joke Title: Re: [Cuda+mex] Περιεργη συμπεριφορα k-means Post by: et3rn1ty on April 05, 2016, 11:20:16 am Δεν μου φαίνεται παράλογο. Αν το software που κατέβασες δεν κάνει κάποιο tuning και τρέχει απλά με default παραμέτρους, τότε πρέπει να το κάνεις χειροκίνητα. Η CUDA είναι πολύ ευαίσθητη σε κάτι τέτοια, ειδικά για κάρτες που έχουν 3-4 χρόνια απόσταση.
Title: Re: [Cuda+mex] Περιεργη συμπεριφορα k-means Post by: Andromedas on April 05, 2016, 13:55:21 pm Ανεβασε τιποτα παραπανω πχ
Βάλε το nvidia-smi και κάνε monitor όταν τα τρέχεις. Πρωτον απο το makefile βλεπω το εξης Ποσταρε μερικά screenshots να δούμε τι γίνεται. Code: FLG=-O4 Specify optimization level. Default value: 3 στο παλιο Cuda toolkit 3.2 είχε -Οn) |