The MPI tag numbers in VariableSizeCommunicator are too big
The MPI tags used in VariableSizeCommunicator (e.g. here) are larger than what the MPI standard guarantees as a valid tag number, and while this seems to work with MPICH and Open MPI, Intel MPI's MPI_TAG_UB is smaller than that and this code generates a runtime error (saying the tags number is too big).
I can open a MR and replace with a value smaller than the ones used. A more robust approach would be something like PetscCommGetNewTag in PETSc which would also allow downstream modules to generate MPI tags that are guaranteed to be unused. But I'm not sure how this could be implemented properly.