{"push_id":2107184308,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"20ad0b1596c18fc3331ef9633b417ecd83f05f09","before":"28ad47d1b4c83a048b3fb4efa13d40e83d8b9833","commits":[{"sha":"dba20f7fd0210181d85fe867cde0c8f6315737c8","author":{"name":"Pavan Balaji","email":"01a8f248cfe2131b96a7b86d68ff7b2dd6db673e@anl.gov"},"message":"comm: fixup case where user passes MPI_UNDEFINED\n\nEarlier we were relying on the fact that all processes eventually call\nMPIR_Comm_split_impl over the entire communicator, even if the device\noverrides the function for some processes and hands it off to the\nupper layer for other processes.\n\nFor example, with ch3:nemesis, in the shared memory case, all\nprocesses with MPI_UNDEFINED were calling the upper-level\nMPIR_Comm_split_impl, while the processes that gave\nMPI_COMM_TYPE_SHARED would use the nemesis code.  The nemesis code\ncoincidentally happened to call MPIR_Comm_split_impl over the user\ncommunicator as well, so this bug never surfaced.  But it is easy for\nus to misstep and create a deadlock in the future.\n\nIn this patch, we simply split out \"UNDEFINED\" processes from the\nparent communicator and handle the rest of the processes together.  If\nthe device overrides split_type, it would be responsible for dealing\nwith MPI_UNDEFINED.\n\nSigned-off-by: Yanfei Guo <yguo@anl.gov>","distinct":true,"url":"https://api.github.com/repos/pmodels/mpich/commits/dba20f7fd0210181d85fe867cde0c8f6315737c8"},{"sha":"c8e1fde0c79a545f294a44ba9305959333d76df3","author":{"name":"Pavan Balaji","email":"01a8f248cfe2131b96a7b86d68ff7b2dd6db673e@anl.gov"},"message":"comm: remove unnecessary splits.\n\nWhen the user passes MPI_UNDEFINED, we do not need to split the\ncommunicator.  We know that the outcome will always be MPI_COMM_NULL.\n\nSigned-off-by: Yanfei Guo <yguo@anl.gov>","distinct":true,"url":"https://api.github.com/repos/pmodels/mpich/commits/c8e1fde0c79a545f294a44ba9305959333d76df3"},{"sha":"20ad0b1596c18fc3331ef9633b417ecd83f05f09","author":{"name":"Pavan Balaji","email":"01a8f248cfe2131b96a7b86d68ff7b2dd6db673e@anl.gov"},"message":"comm: simplify comm_split_type_self implementation\n\nWhen we are returning a single process in the communicator, we do not\nneed to do two global collectives.  The second collective can be\nreplaced with a simple dup of MPI_COMM_SELF.\n\nSigned-off-by: Yanfei Guo <yguo@anl.gov>","distinct":true,"url":"https://api.github.com/repos/pmodels/mpich/commits/20ad0b1596c18fc3331ef9633b417ecd83f05f09"}]}
{"actor":{"display_login":"yfguo"}}