Hello, Using MPICH 3.1.4, I'm getting internal assertions of this kind of when using MPI_Dist_graph_create : Assertion failed in file src/mpi/topo/dist_gr_create.c at line 223: s_rank
= 0 Assertion failed in file src/mpi/topo/dist_gr_create.c at line 195: sources[i] < comm_size
I've checked that ranks passed in are in the proper range, rather I think the issue is caused by requesting an edge from rank 0 to itself. (Another hint is that its non-deterministic which assertion I get; it depends on the order in which the ranks get scheduled by the OS, so there is a bit of a bug in the implementation, or at least no check for self-edges). Does the MPI standard allow for self-edges in these graphs ? Thank you, P.S. - I'll throw in a bigger question while I'm at it: are MPI_Dist_graph_create and MPI_Neighbor_alltoallv implemented with optimally scalable algorithms ? I'm betting my scalability on them being roughly O(log(P)) where P is communicator size, assuming neighborhood sizes and message sizes are constant.