Lines Matching refs:map
168 static PetscErrorCode PetscParallelRedistribute(PetscLayout map, PetscInt n, PetscInt arrayin[], Pe… in PetscParallelRedistribute() argument
180 PetscCallMPI(MPI_Comm_size(map->comm, &size)); in PetscParallelRedistribute()
181 PetscCallMPI(MPI_Comm_rank(map->comm, &rank)); in PetscParallelRedistribute()
182 PetscCall(PetscCommGetNewTag(map->comm, &firsttag)); in PetscParallelRedistribute()
183 PetscCall(PetscCommGetNewTag(map->comm, &secondtag)); in PetscParallelRedistribute()
185 PetscCallMPI(MPI_Scan(&n, &nextOffset, 1, MPIU_INT, MPI_SUM, map->comm)); in PetscParallelRedistribute()
187 total = map->range[rank + 1] - map->range[rank]; in PetscParallelRedistribute()
188 …if (total > 0) PetscCallMPI(MPIU_Irecv(arrayout, total, MPIU_INT, MPI_ANY_SOURCE, firsttag, map->c… in PetscParallelRedistribute()
195 itotal = map->range[i + 1] - map->range[i]; in PetscParallelRedistribute()
197 oStart = PetscMax(myOffset, map->range[i]); in PetscParallelRedistribute()
198 oEnd = PetscMin(nextOffset, map->range[i + 1]); in PetscParallelRedistribute()
200 if (map->range[i] >= myOffset && map->range[i] < nextOffset) { in PetscParallelRedistribute()
202 …PetscCallMPI(MPIU_Isend(&arrayin[map->range[i] - myOffset], overlap, MPIU_INT, i, firsttag, map->c… in PetscParallelRedistribute()
205 …PetscCallMPI(MPIU_Isend(&arrayin[oStart - myOffset], overlap, MPIU_INT, i, secondtag, map->comm, &… in PetscParallelRedistribute()
206 } else if (overlap == 0 && myOffset > map->range[i] && myOffset < map->range[i + 1]) { in PetscParallelRedistribute()
208 …PetscCallMPI(MPIU_Isend(&arrayin[oStart - myOffset], 0, MPIU_INT, i, secondtag, map->comm, &second… in PetscParallelRedistribute()
223 …PetscCallMPI(MPIU_Recv(&arrayout[filled], total - filled, MPIU_INT, sender, secondtag, map->comm, … in PetscParallelRedistribute()