PDA

Visualizza la versione completa : [MPI & C] Eseguire programmi che usano la libreria mpi.h su un processore


Skull260287
03-12-2008, 20:43
Salve a tutti, dopo un pò di tempo di combattimenti vari sono riuscito a far andare la compilazione e l'esecuzione dei programmi che utilizzano mpi.h sul mio notebook, che ha un solo processore. Eseguo utilizzando il comando mpirun -np N nomefile, con N numero dei processori. Ho implementato ad esempio il programma per fare la somma di numeri. Il mio problema è che fin quando eseguo simulando il software su due processori, dato che a quanto pare l'id 0 è sempre il primo ad essere associato, non ho problemi. Quando però tento di eseguire simulando la presenza di più processori, ho dei problemi sulle istruzioni Send e Recv in quanto essendo bloccanti ed essendo l'assegnazione degli id non in successione crescente, alcune si queste si fermano in attesa di dati da processi con altri id che non stanno lavorando. Ho pensato che questo potrebbe bypassarlo il poter scegliere in che ordine devono essere assegnati gli id, in modo da poterlo testare sul mio pc così come girerebbe su un cluster, ma non sono riuscito a trovare nulla a riguardo.

Io utilizzo ubunti e mpich-bin.

Se avete suggerimenti e idee vi prego di aiutarmi.

Vi ringrazio.

Loading