Lines Matching refs:rdisp
389 PetscInt *sdisp, *rdisp;
400 PetscCall(PetscMalloc5(sendRowCnt, &sendRowLen, recvRowCnt + 1, &recvRowLen, nranks, &sdisp, niranks + 1, &rdisp, nranks + niranks, &reqs));
410 rdisp[0] = 0;
412 rdisp[i + 1] = rdisp[i];
413 for (PetscInt j = ioffset[i]; j < ioffset[i + 1]; j++) rdisp[i + 1] += recvRowLen[j];
419 for (PetscInt i = 0; i < niranks; i++) PetscCallMPI(MPIU_Isend(&rdisp[i], 1, MPIU_INT, iranks[i], tag, comm, &reqs[nranks + i]));
423 PetscInt nroots = rdisp[niranks]; // roots are nonzeros I will recv
592 PetscCall(PetscFree5(sendRowLen, recvRowLen, sdisp, rdisp, reqs));
795 PetscInt *sdisp, *rdisp;
801 PetscCall(PetscMalloc3(niranks + 1, &sdisp, nranks, &rdisp, niranks + nranks, &reqs));
813 for (PetscInt i = 0; i < nranks; i++) PetscCallMPI(MPIU_Irecv(&rdisp[i], 1, MPIU_INT, ranks[i], tag, comm, &reqs[i]));
825 iremote[j].index = rdisp[i] + k; // their root location
831 PetscCall(PetscFree3(sdisp, rdisp, reqs));