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 > helpful. > > Just for more information: > op->o_func.intrinsic.fns[27] 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. -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/