Reduction con double

Back to    Contents

Previous :  Sincronizzazione      Next : variante di Broadcast   Up to : Benchmark collettivi   


Questo metodo misura il tempo necessario per sommare tra loro dati double posseduti da tutti i processi e quindi spedire il risultato a tutti. Come sempre  il test consiste nel ripetere un certo numero (reps) di  queste somme e misurare il tempo impiegato.
In MPI l'operazione di Reduction, con risultato spedito a tutti, viene realizzata con la primitiva MPI_Allreduction.

Il nucleo del test e' il seguente :

MPI_Barrier(MPI_COMM_WORLD );
t0=MPI_Wtime();
for (i=0; i<reps; i++) {
    MPI_Allreduce(lval, work, len, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD );
    }
t1=MPI_Wtime();
MPI_Barrier(MPI_COMM_WORLD );
time = t1-t0;



reps e' per default 50 e puo' essere cambiato dall'utente.


Anche  con questo test MICH-G2 soffre particolarmente la presenza su una stessa CPU di piu' processi attivi (almeno con messaggi piccoli) (I Risultati, Conclusioni).

Previous : Sincronizzazione     Next :  variante di Broadcast     Up to : Benchmark collettivi      

Back to Contents