non collective mpi_allreduce

Aron Ahmadia aja2111 at columbia.edu
Tue Jul 10 19:48:37 CDT 2007


The term you are looking for is non-blocking, a non-collective reduce
is almost an oxymoron.

And no, non-blocking reduces are not anywhere in the MPI Standard,
maybe one of these days.

Your best bet is to write an implementation yourself using MPI_ISEND
and a tree structure which takes advantage of your network topology.

This isn't exactly a question for PETSc though, you might have better
luck on the mpich-users mailing list.  You could also look in the
literature to see how people are implementing global asynchronous
codes cleverly.  Let me know what you find (feel free to respond to
aja2111 at columbia.edu), I'm interested in this sort of work as well.

~A

On 7/10/07, Mehdi Bostandoost <mbostandoust at yahoo.com> wrote:
> Hi
> I am working on optimizing my code. one of the functions that I used in my
> code is MPI_ALLREDUCE. I want to have overlap between this communcation and
> my computation part of my code. is there any way to work around it?
> (it would be great to have sth like MPI_IALLREDUCE,MPI_WAIT)
>
> Mehdi
>
>
>
>  ________________________________
> Get the Yahoo! toolbar and be alerted to new email wherever you're surfing.
>
>




More information about the petsc-users mailing list