On May 9, 2011, at 6:57 AM, hi wrote:
> Test program works fine; but you can notice the difference between the
> callstack images of test program and of my actual application.
> In test program it calls mca_coll_self_allreduce_intra while in my
It doesn't for me...?
The "self" in there refers to the fact that this is a collective on MPI_COMM_SELF (or a dup of it). If you run with np -1, MPI_COMM_WORLD is effectively a dup of MPI_COMM_SEFL.
Hence, it's essentially a no-op.
> application it calls mca_coll_basic_allreduce_intra.
The "basic" in there means that this is not a no-op and it needs to do something.
I ran your test program with -np 2 and -np 4 and it seemed to work ok.
> So I want to know which parameter or setting makes call to
> mca_coll_basic_allreduce_intra compared to
> mca_coll_self_allreduce.intra; if you can comment on this would be
> Just for more information:
> op->o_func.intrinsic.fns points to 0 when using
> MPI_Allreduce(...,...,...,MPI_DOUBLE_PRECISION, MPI_SUM,...,...)
You didn't answer my prior questions. :-)
Also note that the op pointers are not set by communicator -- they're fixed for all uses of that op.
For corporate legal information go to: