THMMY.gr

Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα => C / C++ / C# => Topic started by: Αιμιλία η φτερωτή χελώνα on December 21, 2011, 01:00:42 am



Title: Scatter σε MPI
Post by: Αιμιλία η φτερωτή χελώνα on December 21, 2011, 01:00:42 am
Δε μπορω να κανω scatterrrrrrrrrrrrrrrrrrr >:( >:( >:( >:( >:(
θελω να κανω scatter τον πινακα matrix στα subarray ολων των processes (και του root)
στη main, εκτος των αλλων που δε σας ενδιαφερουν, κανω:

int  *matrix, *subarray;
για pid==0 κανω malloc και δινω τιμες στο matrix
για ολα τα processes δινω τιμη στο size που θα παρουν τα subarray και κανω malloc στα subarray
για pid==0 κανω
MPI_Scatter(matrix,size,MPI_INT,subarray,size,MPI_INT,0,MPI_COMM_WORLD);


αλλα οταν τυπωνω τα περιεχομενα των subarray μου βγαινουν 0 σε ολα τα processes εκτος του root. :o :o :o

Τι μαλακια κανω;


Title: Re: Scatter σε MPI
Post by: Αγόρι on December 21, 2011, 05:07:05 am
από ότι καταλαβαίνω το πρόβλημα σου είναι ότι κάνεις MPI_Scatter() μόνο για pid==0.
κανονικά θα πρέπει όλα τα process να την καλούν.


Title: Re: Scatter σε MPI
Post by: Αιμιλία η φτερωτή χελώνα on December 21, 2011, 16:14:21 pm
ναι :)
ευχαριστω!
με ειχαν μπερδεψει τα googlαρισματα μου... ^banghead^
σε μια σελιδα εκτελουσε το scatter απο το root
και σε αλλες το εκτελουσε απο παντου
και ειχα καταληξει να το αφησω να εκτελειται μονο απτο root