THMMY.gr

Μαθήματα Κύκλου Ηλεκτρονικής & Υπολογιστών => Παράλληλα και Διανεμημένα Συστήματα => Topic started by: JohnFli on February 14, 2019, 19:28:23 pm



Title: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 4 - 2018-2019
Post by: JohnFli on February 14, 2019, 19:28:23 pm
Συζήτηση για την Τέταρτη Εργασία

edit: τίτλος


Title: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 4 - 2018-2019
Post by: JohnFli on February 14, 2019, 19:28:42 pm
Καλησπέρα παιδιά,

Έχει ασχοληθεί κανείς με την cuSPARSE;
Βρήκατε κάποια συνάρτηση που να μπορεί να βοηθήσει στις πράξεις που θέλουμε να κάνουμε για το πρόβλημα που μας δόθηκε;


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 4 - 2018-2019
Post by: ytsejam on February 19, 2019, 04:31:20 am
Υπάρχει περίπτωση να πάρει καμια παράταση?


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 4 - 2018-2019
Post by: Xplicit on February 19, 2019, 12:48:56 pm
Ο Πιτσιάνης είπε μέχρι την Κυριακή που μας έρχεται...


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 4 - 2018-2019
Post by: Argirios on July 11, 2019, 21:43:50 pm
Τα data πως τα διαβάσατε? Δοκίμασα να το κάνω sparse με matlab και να το αποθηκεύσω σε txt για να το διαβάσω στη c αλλά βγαίνει ένα αρχείο 140 Mb που βγάζει segmentation fault όταν παω να το διαβάσω με τη c λόγω μεγέθους μάλλον, αφού όταν βάζω μικρότερο μέρος το διαβάζει κανονικά.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 4 - 2018-2019
Post by: Xplicit on August 04, 2019, 15:11:04 pm
Τα data πως τα διαβάσατε? Δοκίμασα να το κάνω sparse με matlab και να το αποθηκεύσω σε txt για να το διαβάσω στη c αλλά βγαίνει ένα αρχείο 140 Mb που βγάζει segmentation fault όταν παω να το διαβάσω με τη c λόγω μεγέθους μάλλον, αφού όταν βάζω μικρότερο μέρος το διαβάζει κανονικά.

Μάλλον είναι αργά... αλλα έτσι το έκανα. Το μετέτρεψα σε csv και το διάβασα γραμμή-γραμμή. 140Mb δεν είναι μεγάλο αρχείο για τη C. Μπορείς άνετα να διαβάσεις μέχρι giga, μετά θές επιπλέον βιβλιοθήκες.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 4 - 2018-2019
Post by: Argirios on August 04, 2019, 17:28:35 pm
Μάλλον είναι αργά... αλλα έτσι το έκανα. Το μετέτρεψα σε csv και το διάβασα γραμμή-γραμμή. 140Mb δεν είναι μεγάλο αρχείο για τη C. Μπορείς άνετα να διαβάσεις μέχρι giga, μετά θές επιπλέον βιβλιοθήκες.
Θα δοκιμάσω με csv μήπως δουλεύει, με txt είχα δοκιμάσει.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 4 - 2018-2019
Post by: Xplicit on August 05, 2019, 12:15:31 pm
Δεν ξέρω αν έχει μεγάλη διαφορά, πιο πολύ σαν σύμβαση είναι ότι θα χωρίζονται οι τιμές με κόμμα. Κοίταξε να έχεις μικρές στήλες και πολλές γραμμές. Ας πούμε, πρώτη στήλη να είναι τα col_idx και δεύτερη τα row_idx αν είναι σε COO μορφή. Τα values εφόσον ξέρεις ότι είναι 1 δεν χρειάζεται να τα έχεις αποθηκευμένα. Έτσι θα μπορείς με ενα while ή for να διαβάσεις γραμμή-γραμμή τα στοιχεία και να τα αποθηκεύσεις στους pointers.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 4 - 2018-2019
Post by: Argirios on September 25, 2019, 18:05:13 pm
Το γινόμενο Hadamard με ποιά συνάρτηση της CUSPARSE το κάνατε? Βρήκα αυτήν cusparseConstrainedGeMM() αλλά είναι για sparse x dense όχι sparse x sparse.


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 4 - 2018-2019
Post by: Argirios on September 27, 2019, 14:32:50 pm
Το γινόμενο Hadamard με ποιά συνάρτηση της CUSPARSE το κάνατε? Βρήκα αυτήν cusparseConstrainedGeMM() αλλά είναι για sparse x dense όχι sparse x sparse.
Καμιά ιδέα για το γινόμενο Hadamard? Έχω βρει το A*A και έχω το αποτέλεσμα σε μορφή CSR αλλά δε ξέρω πως να κάνω γινόμενο element-wise/hadamard σε αυτή τη μορφή. Θα μπορούσα να μετατρέψω τις CSR μορφές σε κανονικούς πίνακες αλλά θέλει πάνω απο 100 GB ram νομίζω. :(


Title: Re: [Παράλληλα και Διανεμημένα Συστήματα] Εργασία 4 - 2018-2019
Post by: Xplicit on September 27, 2019, 16:42:54 pm
Καμιά ιδέα για το γινόμενο Hadamard? Έχω βρει το A*A και έχω το αποτέλεσμα σε μορφή CSR αλλά δε ξέρω πως να κάνω γινόμενο element-wise/hadamard σε αυτή τη μορφή. Θα μπορούσα να μετατρέψω τις CSR μορφές σε κανονικούς πίνακες αλλά θέλει πάνω απο 100 GB ram νομίζω. :(

Το γινόμενο hadamard είναι ουσιαστικά ενα φίλτρο σε αυτήν την περίπτωση. Απλά θες να κρατήσεις τις τιμές του Α^2 στις θέσεις που έχει άσσους ο Α (αν θυμάμαι καλά, δεν έχω μπροστά μου την εκφώνηση). Δεν χρειάζεται να κάνεις κανονικό γινόμενο. Προφανώς και δεν θα μετατρέψεις το CSR σε Dense. Αυτή είναι η ουσία.