Commit ca75812b authored by Paul Coffman's avatar Paul Coffman Committed by Rob Latham
Browse files

MPIDI_Coll_comm_create unsetting default collops for inTERcomms

There are no pami optimized collectives available for inTERcomms
so when MPIDI_Coll_comm_create is called it checks to see
if the comm is an inTRAcomm and if not just returns,
however it was doing the new malloc for comm->coll_fns
before the if-check which was unsetting the MPICH defaults.
The solution is to move the malloc after the inTRAcomm
Signed-off-by: Rob Latham's avatarRob Latham <>
parent ec6af78b
......@@ -227,12 +227,12 @@ void MPIDI_Coll_comm_create(MPID_Comm *comm)
if (!MPIDI_Process.optimized.collectives)
comm->coll_fns = MPIU_Calloc0(1, MPID_Collops);
MPID_assert(comm->coll_fns != NULL);
if(comm->comm_kind != MPID_INTRACOMM) return;
/* Create a geometry */
comm->coll_fns = MPIU_Calloc0(1, MPID_Collops);
MPID_assert(comm->coll_fns != NULL);
if(comm->mpid.geometry != MPIDI_Process.world_geometry)
if(unlikely(MPIDI_Process.verbose >= MPIDI_VERBOSE_DETAILS_0 && comm->rank == 0))
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment