Lines Matching refs:bas
8 PetscSF_Basic *bas = (PetscSF_Basic *)sf->data; in PetscSFLinkInitMPIRequests_Persistent_Basic() local
19 …if (bas->rootbuflen[PETSCSF_REMOTE] && !link->rootreqsinited[direction][rootmtype_mpi][rootdirect_… in PetscSFLinkInitMPIRequests_Persistent_Basic()
25 …_Recv_init(link->rootbuf[PETSCSF_REMOTE][rootmtype_mpi] + disp, cnt, unit, bas->iranks[i], link->t… in PetscSFLinkInitMPIRequests_Persistent_Basic()
31 …_Send_init(link->rootbuf[PETSCSF_REMOTE][rootmtype_mpi] + disp, cnt, unit, bas->iranks[i], link->t… in PetscSFLinkInitMPIRequests_Persistent_Basic()
62 PetscSF_Basic *bas = (PetscSF_Basic *)sf->data; in PetscSFLinkStartCommunication_Persistent_Basic() local
66 …rbuflen = (direction == PETSCSF_ROOT2LEAF) ? sf->leafbuflen[PETSCSF_REMOTE] : bas->rootbuflen[PETS… in PetscSFLinkStartCommunication_Persistent_Basic()
72 nrreqs = bas->nrootreqs; in PetscSFLinkStartCommunication_Persistent_Basic()
77 …sbuflen = (direction == PETSCSF_ROOT2LEAF) ? bas->rootbuflen[PETSCSF_REMOTE] : sf->leafbuflen[PETS… in PetscSFLinkStartCommunication_Persistent_Basic()
80 nsreqs = bas->nrootreqs; in PetscSFLinkStartCommunication_Persistent_Basic()
99 PetscSF_Basic *bas = (PetscSF_Basic *)sf->data; in PetscSFLinkStartCommunication_MPIX_Stream() local
110 if (bas->rootbuflen[PETSCSF_REMOTE]) { in PetscSFLinkStartCommunication_MPIX_Stream()
116 …cv_enqueue(link->rootbuf[PETSCSF_REMOTE][rootmtype_mpi] + disp, cnt, unit, bas->iranks[i], link->t… in PetscSFLinkStartCommunication_MPIX_Stream()
123 …nd_enqueue(link->rootbuf[PETSCSF_REMOTE][rootmtype_mpi] + disp, cnt, unit, bas->iranks[i], link->t… in PetscSFLinkStartCommunication_MPIX_Stream()
150 PetscSF_Basic *bas = (PetscSF_Basic *)sf->data; in PetscSFLinkFinishCommunication_MPIX_Stream() local
155 …PetscCallMPI(MPIX_Waitall_enqueue(bas->nrootreqs, link->rootreqs[direction][rootmtype_mpi][rootdir… in PetscSFLinkFinishCommunication_MPIX_Stream()
181 PetscSF_Basic *bas = (PetscSF_Basic *)sf->data; in PetscSFSetUp_Basic() local
212 bas->ndiranks = sf->ndranks; in PetscSFSetUp_Basic()
213 bas->niranks = bas->ndiranks + niranks; in PetscSFSetUp_Basic()
214 PetscCall(PetscMalloc2(bas->niranks, &bas->iranks, bas->niranks + 1, &bas->ioffset)); in PetscSFSetUp_Basic()
215 bas->ioffset[0] = 0; in PetscSFSetUp_Basic()
216 for (PetscMPIInt i = 0; i < bas->ndiranks; i++) { in PetscSFSetUp_Basic()
217 bas->iranks[i] = sf->ranks[i]; in PetscSFSetUp_Basic()
218 bas->ioffset[i + 1] = bas->ioffset[i] + rlengths[i]; in PetscSFSetUp_Basic()
220 …PetscCheck(bas->ndiranks <= 1 && (bas->ndiranks != 1 || bas->iranks[0] == rank), PETSC_COMM_SELF, … in PetscSFSetUp_Basic()
221 for (PetscMPIInt i = bas->ndiranks; i < bas->niranks; i++) { in PetscSFSetUp_Basic()
222 bas->iranks[i] = iranks[i - bas->ndiranks]; in PetscSFSetUp_Basic()
223 bas->ioffset[i + 1] = bas->ioffset[i] + ilengths[i - bas->ndiranks]; in PetscSFSetUp_Basic()
225 bas->itotal = bas->ioffset[bas->niranks]; in PetscSFSetUp_Basic()
231 nRemoteLeafRanks = bas->niranks - bas->ndiranks; in PetscSFSetUp_Basic()
232 PetscCall(PetscMalloc1(bas->itotal, &bas->irootloc)); in PetscSFSetUp_Basic()
234 …bas->ndiranks; i < bas->niranks; i++) PetscCallMPI(MPIU_Irecv(bas->irootloc + bas->ioffset[i], bas… in PetscSFSetUp_Basic()
239 …PetscCheck(bas->iranks[0] == rank, PETSC_COMM_SELF, PETSC_ERR_PLIB, "Cannot interpret distinguishe… in PetscSFSetUp_Basic()
240 …PetscCheck(npoints == bas->ioffset[1] - bas->ioffset[0], PETSC_COMM_SELF, PETSC_ERR_PLIB, "Disting… in PetscSFSetUp_Basic()
241 … PetscCall(PetscArraycpy(bas->irootloc + bas->ioffset[0], sf->rremote + sf->roffset[i], npoints)); in PetscSFSetUp_Basic()
250 bas->nrootreqs = nRemoteLeafRanks; in PetscSFSetUp_Basic()
260 PetscSF_Basic *bas = (PetscSF_Basic *)sf->data; in PetscSFReset_Basic() local
261 PetscSFLink link = bas->avail, next; in PetscSFReset_Basic()
264 …PetscCheck(!bas->inuse, PetscObjectComm((PetscObject)sf), PETSC_ERR_ARG_WRONGSTATE, "Outstanding o… in PetscSFReset_Basic()
265 PetscCall(PetscFree2(bas->iranks, bas->ioffset)); in PetscSFReset_Basic()
266 PetscCall(PetscFree(bas->irootloc)); in PetscSFReset_Basic()
269 for (int i = 0; i < 2; i++) PetscCall(PetscSFFree(sf, PETSC_MEMTYPE_DEVICE, bas->irootloc_d[i])); in PetscSFReset_Basic()
280 bas->avail = NULL; in PetscSFReset_Basic()
298 PetscSF_Basic *bas = (PetscSF_Basic *)sf->data; in PetscSFView_Basic_PatternAndSizes() local
325 …for (PetscMPIInt i = 0; i < nrootranks; i++) PetscCall(MatSetValue(A, rank, bas->iranks[i], (rooto… in PetscSFView_Basic_PatternAndSizes()
451 PetscSF_Basic *bas = (PetscSF_Basic *)sf->data; in PetscSFGetLeafRanks_Basic() local
454 if (niranks) *niranks = bas->niranks; in PetscSFGetLeafRanks_Basic()
455 if (iranks) *iranks = bas->iranks; in PetscSFGetLeafRanks_Basic()
456 if (ioffset) *ioffset = bas->ioffset; in PetscSFGetLeafRanks_Basic()
457 if (irootloc) *irootloc = bas->irootloc; in PetscSFGetLeafRanks_Basic()
476 PetscSF_Basic *bas; in PetscSFCreateEmbeddedRootSF_Basic() local
547 bas = (PetscSF_Basic *)esf->data; in PetscSFCreateEmbeddedRootSF_Basic()
552 PetscCall(PetscMalloc2(niranks, &bas->iranks, niranks + 1, &bas->ioffset)); in PetscSFCreateEmbeddedRootSF_Basic()
553 PetscCall(PetscMalloc1(ioffset[niranks], &bas->irootloc)); in PetscSFCreateEmbeddedRootSF_Basic()
554 bas->niranks = bas->ndiranks = bas->ioffset[0] = 0; in PetscSFCreateEmbeddedRootSF_Basic()
561 bas->irootloc[q++] = irootloc[j]; in PetscSFCreateEmbeddedRootSF_Basic()
566 bas->niranks++; in PetscSFCreateEmbeddedRootSF_Basic()
567 …if (i < ndiranks) bas->ndiranks++; /* Note that order of ranks (including distinguished ranks) is … in PetscSFCreateEmbeddedRootSF_Basic()
568 bas->iranks[p] = iranks[i]; in PetscSFCreateEmbeddedRootSF_Basic()
569 bas->ioffset[p + 1] = q; in PetscSFCreateEmbeddedRootSF_Basic()
573 bas->itotal = q; in PetscSFCreateEmbeddedRootSF_Basic()
574 bas->nrootreqs = bas->niranks - bas->ndiranks; in PetscSFCreateEmbeddedRootSF_Basic()