def mpi_tag_key(a):
 if isinstance(a.op, (MPISend, MPIRecv, MPIRecvWait, MPISendWait)):
  return a.op.tag
 else:
  return 0

def mpi_tag_key ( a ) : if isinstance ( a . op , ( MPISend , MPIRecv , MPIRecvWait , MPISendWait ) ) : return a . op . tag else : return 0
break mpi ties by using the variable tag - prefer lower tags first .