Lines Matching refs:sf

70 static PetscErrorCode PetscSFWindowGetDataTypes(PetscSF sf, MPI_Datatype unit, const MPI_Datatype *…  in PetscSFWindowGetDataTypes()  argument
72 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFWindowGetDataTypes()
91 PetscCall(PetscSFGetRootRanks(sf, &nranks, NULL, &roffset, NULL, NULL)); in PetscSFWindowGetDataTypes()
101 rmine = sf->rmine + sf->roffset[i]; in PetscSFWindowGetDataTypes()
102 rremote = sf->rremote + sf->roffset[i]; in PetscSFWindowGetDataTypes()
106 PetscCall(PetscMPIIntCast(sf->rmine[sf->roffset[i] + j], &rmine[j])); in PetscSFWindowGetDataTypes()
107 PetscCall(PetscMPIIntCast(sf->rremote[sf->roffset[i] + j], &rremote[j])); in PetscSFWindowGetDataTypes()
170 PetscErrorCode PetscSFWindowSetFlavorType(PetscSF sf, PetscSFWindowFlavorType flavor) in PetscSFWindowSetFlavorType() argument
173 PetscValidHeaderSpecific(sf, PETSCSF_CLASSID, 1); in PetscSFWindowSetFlavorType()
174 PetscValidLogicalCollectiveEnum(sf, flavor, 2); in PetscSFWindowSetFlavorType()
175 …PetscTryMethod(sf, "PetscSFWindowSetFlavorType_C", (PetscSF, PetscSFWindowFlavorType), (sf, flavor… in PetscSFWindowSetFlavorType()
179 static PetscErrorCode PetscSFWindowSetFlavorType_Window(PetscSF sf, PetscSFWindowFlavorType flavor) in PetscSFWindowSetFlavorType_Window() argument
181 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFWindowSetFlavorType_Window()
203 PetscErrorCode PetscSFWindowGetFlavorType(PetscSF sf, PetscSFWindowFlavorType *flavor) in PetscSFWindowGetFlavorType() argument
206 PetscValidHeaderSpecific(sf, PETSCSF_CLASSID, 1); in PetscSFWindowGetFlavorType()
208 …PetscUseMethod(sf, "PetscSFWindowGetFlavorType_C", (PetscSF, PetscSFWindowFlavorType *), (sf, flav… in PetscSFWindowGetFlavorType()
212 static PetscErrorCode PetscSFWindowGetFlavorType_Window(PetscSF sf, PetscSFWindowFlavorType *flavor) in PetscSFWindowGetFlavorType_Window() argument
214 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFWindowGetFlavorType_Window()
237 PetscErrorCode PetscSFWindowSetSyncType(PetscSF sf, PetscSFWindowSyncType sync) in PetscSFWindowSetSyncType() argument
240 PetscValidHeaderSpecific(sf, PETSCSF_CLASSID, 1); in PetscSFWindowSetSyncType()
241 PetscValidLogicalCollectiveEnum(sf, sync, 2); in PetscSFWindowSetSyncType()
242 PetscTryMethod(sf, "PetscSFWindowSetSyncType_C", (PetscSF, PetscSFWindowSyncType), (sf, sync)); in PetscSFWindowSetSyncType()
246 static PetscErrorCode PetscSFWindowSetSyncType_Window(PetscSF sf, PetscSFWindowSyncType sync) in PetscSFWindowSetSyncType_Window() argument
248 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFWindowSetSyncType_Window()
270 PetscErrorCode PetscSFWindowGetSyncType(PetscSF sf, PetscSFWindowSyncType *sync) in PetscSFWindowGetSyncType() argument
273 PetscValidHeaderSpecific(sf, PETSCSF_CLASSID, 1); in PetscSFWindowGetSyncType()
275 PetscUseMethod(sf, "PetscSFWindowGetSyncType_C", (PetscSF, PetscSFWindowSyncType *), (sf, sync)); in PetscSFWindowGetSyncType()
279 static PetscErrorCode PetscSFWindowGetSyncType_Window(PetscSF sf, PetscSFWindowSyncType *sync) in PetscSFWindowGetSyncType_Window() argument
281 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFWindowGetSyncType_Window()
304 PetscErrorCode PetscSFWindowSetInfo(PetscSF sf, MPI_Info info) in PetscSFWindowSetInfo() argument
307 PetscValidHeaderSpecific(sf, PETSCSF_CLASSID, 1); in PetscSFWindowSetInfo()
308 PetscTryMethod(sf, "PetscSFWindowSetInfo_C", (PetscSF, MPI_Info), (sf, info)); in PetscSFWindowSetInfo()
312 static PetscErrorCode PetscSFWindowSetInfo_Window(PetscSF sf, MPI_Info info) in PetscSFWindowSetInfo_Window() argument
314 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFWindowSetInfo_Window()
340 PetscErrorCode PetscSFWindowGetInfo(PetscSF sf, MPI_Info *info) in PetscSFWindowGetInfo() argument
343 PetscValidHeaderSpecific(sf, PETSCSF_CLASSID, 1); in PetscSFWindowGetInfo()
345 PetscUseMethod(sf, "PetscSFWindowGetInfo_C", (PetscSF, MPI_Info *), (sf, info)); in PetscSFWindowGetInfo()
349 static PetscErrorCode PetscSFWindowGetInfo_Window(PetscSF sf, MPI_Info *info) in PetscSFWindowGetInfo_Window() argument
351 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFWindowGetInfo_Window()
358 static PetscErrorCode PetscSFWindowCreateDynamicSF(PetscSF sf, PetscSF *dynsf) in PetscSFWindowCreateDynamicSF() argument
363 PetscCall(PetscMalloc1(sf->nranks, &remotes)); in PetscSFWindowCreateDynamicSF()
364 for (PetscInt i = 0; i < sf->nranks; i++) { in PetscSFWindowCreateDynamicSF()
365 remotes[i].rank = sf->ranks[i]; in PetscSFWindowCreateDynamicSF()
368 PetscCall(PetscSFDuplicate(sf, PETSCSF_DUPLICATE_RANKS, dynsf)); in PetscSFWindowCreateDynamicSF()
370 …PetscCall(PetscSFSetGraph(*dynsf, 1, sf->nranks, NULL, PETSC_OWN_POINTER, remotes, PETSC_OWN_POINT… in PetscSFWindowCreateDynamicSF()
374 static PetscErrorCode PetscSFWindowAttach(PetscSF sf, PetscSFWinLink link, void *rootdata, size_t w… in PetscSFWindowAttach() argument
379 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFWindowAttach()
427 static PetscErrorCode PetscSFGetWindow(PetscSF sf, MPI_Datatype unit, void *rootdata, void *leafdat… in PetscSFGetWindow() argument
429 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFGetWindow()
438 PetscCall(PetscSFGetDatatypeSize_Internal(PetscObjectComm((PetscObject)sf), unit, &bytes)); in PetscSFGetWindow()
439 wsize = (MPI_Aint)(bytes * sf->nroots); in PetscSFGetWindow()
485 PetscCall(PetscSFWindowAttach(sf, link, rootdata, wsize)); in PetscSFGetWindow()
491 …PetscCall(PetscInfo(sf, "Reusing window %" PETSC_INTPTR_T_FMT " of flavor %d for comm %" PETSC_INT… in PetscSFGetWindow()
507 PetscCall(PetscMalloc1(sf->nranks, &link->reqs)); in PetscSFGetWindow()
508 for (PetscMPIInt i = 0; i < sf->nranks; i++) link->reqs[i] = MPI_REQUEST_NULL; in PetscSFGetWindow()
518 PetscCall(PetscSFWindowAttach(sf, link, rootdata, wsize)); in PetscSFGetWindow()
534 …PetscCall(PetscInfo(sf, "New window %" PETSC_INTPTR_T_FMT " of flavor %d for comm %" PETSC_INTPTR_… in PetscSFGetWindow()
546 PetscCall(PetscMemcpy(link->addr, rootdata, sf->nroots * bytes)); in PetscSFGetWindow()
573 PetscCall(PetscSFGetGroups(sf, &ingroup, &outgroup)); in PetscSFGetWindow()
605 static PetscErrorCode PetscSFFindWindow(PetscSF sf, MPI_Datatype unit, const void *rootdata, const … in PetscSFFindWindow() argument
607 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFFindWindow()
613 PetscCall(PetscSFGetDatatypeSize_Internal(PetscObjectComm((PetscObject)sf), unit, &bytes)); in PetscSFFindWindow()
623 …PetscCall(PetscInfo(sf, "Window %" PETSC_INTPTR_T_FMT " of flavor %d for comm %" PETSC_INTPTR_T_FM… in PetscSFFindWindow()
650 static PetscErrorCode PetscSFRestoreWindow(PetscSF sf, MPI_Datatype unit, void *array, PetscSFWindo… in PetscSFRestoreWindow() argument
652 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFRestoreWindow()
685 …PetscCall(PetscInfo(sf, "Window %" PETSC_INTPTR_T_FMT " of flavor %d for comm %" PETSC_INTPTR_T_FM… in PetscSFRestoreWindow()
704 PetscCall(PetscSFGetGroups(sf, &ingroup, &outgroup)); in PetscSFRestoreWindow()
722 PetscCall(PetscMemcpy(array, laddr, sf->nroots * bytes)); in PetscSFRestoreWindow()
740 static PetscErrorCode PetscSFSetUp_Window(PetscSF sf) in PetscSFSetUp_Window() argument
742 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFSetUp_Window()
747 PetscCall(PetscSFSetUpRanks(sf, MPI_GROUP_EMPTY)); in PetscSFSetUp_Window()
748 PetscCall(PetscObjectGetComm((PetscObject)sf, &comm)); in PetscSFSetUp_Window()
755 …if (w->flavor == PETSCSF_WINDOW_FLAVOR_DYNAMIC) PetscCall(PetscSFWindowCreateDynamicSF(sf, &dynsf_… in PetscSFSetUp_Window()
757 PetscCall(PetscSFGetGraph(sf, &nroots, &nleaves, NULL, NULL)); in PetscSFSetUp_Window()
759 nranks = sf->nranks; in PetscSFSetUp_Window()
774 if (!dynsf_full) PetscCall(PetscSFWindowCreateDynamicSF(sf, &dynsf_full)); in PetscSFSetUp_Window()
781 PetscCall(PetscMalloc1(sf->nranks, &remotes)); in PetscSFSetUp_Window()
782 for (PetscInt i = 0; i < sf->nranks; i++) { in PetscSFSetUp_Window()
786 …PetscCall(PetscSFSetGraph(w->dynsf, 1, sf->nranks, NULL, PETSC_OWN_POINTER, remotes, PETSC_OWN_POI… in PetscSFSetUp_Window()
789 PetscCall(PetscCommDuplicate(PetscObjectComm((PetscObject)sf), &w->window_comm, NULL)); in PetscSFSetUp_Window()
790 PetscCall(PetscArraycpy(w->wcommranks, sf->ranks, nranks)); in PetscSFSetUp_Window()
799 PetscCall(PetscSFGetGroups(sf, &ingroup, &outgroup)); in PetscSFSetUp_Window()
806 static PetscErrorCode PetscSFSetFromOptions_Window(PetscSF sf, PetscOptionItems PetscOptionsObject) in PetscSFSetFromOptions_Window() argument
808 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFSetFromOptions_Window()
815 PetscCall(PetscSFWindowSetFlavorType(sf, flavor)); in PetscSFSetFromOptions_Window()
820 static PetscErrorCode PetscSFReset_Window(PetscSF sf) in PetscSFReset_Window() argument
822 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFReset_Window()
833 for (i = 0; i < sf->nranks; i++) { in PetscSFReset_Window()
861 static PetscErrorCode PetscSFRegisterPersistent_Window(PetscSF sf, MPI_Datatype unit, const void *r… in PetscSFRegisterPersistent_Window() argument
863 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFRegisterPersistent_Window()
869 PetscCall(PetscSFSetUp(sf)); in PetscSFRegisterPersistent_Window()
871 PetscCall(PetscSFGetDatatypeSize_Internal(PetscObjectComm((PetscObject)sf), unit, &bytes)); in PetscSFRegisterPersistent_Window()
872 wsize = (MPI_Aint)(bytes * sf->nroots); in PetscSFRegisterPersistent_Window()
884 PetscCall(PetscSFWindowAttach(sf, link, (void *)rootdata, wsize)); in PetscSFRegisterPersistent_Window()
895 PetscCall(PetscMalloc1(sf->nranks, &link->reqs)); in PetscSFRegisterPersistent_Window()
896 for (i = 0; i < sf->nranks; i++) link->reqs[i] = MPI_REQUEST_NULL; in PetscSFRegisterPersistent_Window()
901 static PetscErrorCode PetscSFDeregisterPersistent_Window(PetscSF sf, MPI_Datatype unit, const void … in PetscSFDeregisterPersistent_Window() argument
903 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFDeregisterPersistent_Window()
910 PetscCall(PetscSFSetUp(sf)); in PetscSFDeregisterPersistent_Window()
912 PetscCall(PetscSFGetDatatypeSize_Internal(PetscObjectComm((PetscObject)sf), unit, &bytes)); in PetscSFDeregisterPersistent_Window()
936 static PetscErrorCode PetscSFDestroy_Window(PetscSF sf) in PetscSFDestroy_Window() argument
939 PetscCall(PetscSFReset_Window(sf)); in PetscSFDestroy_Window()
940 PetscCall(PetscFree(sf->data)); in PetscSFDestroy_Window()
941 PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFWindowSetSyncType_C", NULL)); in PetscSFDestroy_Window()
942 PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFWindowGetSyncType_C", NULL)); in PetscSFDestroy_Window()
943 PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFWindowSetFlavorType_C", NULL)); in PetscSFDestroy_Window()
944 PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFWindowGetFlavorType_C", NULL)); in PetscSFDestroy_Window()
945 PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFWindowSetInfo_C", NULL)); in PetscSFDestroy_Window()
946 PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFWindowGetInfo_C", NULL)); in PetscSFDestroy_Window()
947 PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFRegisterPersistent_C", NULL)); in PetscSFDestroy_Window()
948 PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFDeregisterPersistent_C", NULL)); in PetscSFDestroy_Window()
952 static PetscErrorCode PetscSFView_Window(PetscSF sf, PetscViewer viewer) in PetscSFView_Window() argument
954 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFView_Window()
962 …\n", PetscSFWindowFlavorTypes[w->flavor], PetscSFWindowSyncTypes[w->sync], sf->rankorder ? "rank-o… in PetscSFView_Window()
986 static PetscErrorCode PetscSFDuplicate_Window(PetscSF sf, PetscSFDuplicateOption opt, PetscSF newsf) in PetscSFDuplicate_Window() argument
988 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFDuplicate_Window()
994 if (!sf->setupcalled) synctype = PETSCSF_WINDOW_SYNC_LOCK; in PetscSFDuplicate_Window()
1001 static PetscErrorCode PetscSFBcastBegin_Window(PetscSF sf, MPI_Datatype unit, PetscMemType rootmtyp… in PetscSFBcastBegin_Window() argument
1003 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFBcastBegin_Window()
1012 …PetscCheck(op == MPI_REPLACE, PetscObjectComm((PetscObject)sf), PETSC_ERR_SUP, "PetscSFBcastBegin_… in PetscSFBcastBegin_Window()
1013 PetscCall(PetscSFGetRootRanks(sf, &nranks, NULL, NULL, NULL, NULL)); in PetscSFBcastBegin_Window()
1014 PetscCall(PetscSFWindowGetDataTypes(sf, unit, &mine, &remote)); in PetscSFBcastBegin_Window()
1015 …PetscCall(PetscSFGetWindow(sf, unit, (void *)rootdata, leafdata, w->sync, PETSC_TRUE, MPI_MODE_NOP… in PetscSFBcastBegin_Window()
1035 static PetscErrorCode PetscSFBcastEnd_Window(PetscSF sf, MPI_Datatype unit, const void *rootdata, v… in PetscSFBcastEnd_Window() argument
1037 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFBcastEnd_Window()
1042 PetscCall(PetscSFFindWindow(sf, unit, rootdata, leafdata, &win, &reqs)); in PetscSFBcastEnd_Window()
1043 if (reqs) PetscCallMPI(MPI_Waitall(sf->nranks, reqs, MPI_STATUSES_IGNORE)); in PetscSFBcastEnd_Window()
1048 PetscCall(PetscSFGetRootRanks(sf, &nranks, NULL, NULL, NULL, NULL)); in PetscSFBcastEnd_Window()
1052 …PetscCall(PetscSFRestoreWindow(sf, unit, (void *)rootdata, w->sync, PETSC_TRUE, MPI_MODE_NOSTORE |… in PetscSFBcastEnd_Window()
1056 static PetscErrorCode PetscSFReduceBegin_Window(PetscSF sf, MPI_Datatype unit, PetscMemType leafmty… in PetscSFReduceBegin_Window() argument
1058 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFReduceBegin_Window()
1066 PetscCall(PetscSFGetRootRanks(sf, &nranks, NULL, NULL, NULL, NULL)); in PetscSFReduceBegin_Window()
1067 PetscCall(PetscSFWindowGetDataTypes(sf, unit, &mine, &remote)); in PetscSFReduceBegin_Window()
1069 …PetscCall(PetscSFGetWindow(sf, unit, rootdata, (void *)leafdata, w->sync, PETSC_TRUE, MPI_MODE_NOP… in PetscSFReduceBegin_Window()
1081 static PetscErrorCode PetscSFReduceEnd_Window(PetscSF sf, MPI_Datatype unit, const void *leafdata, … in PetscSFReduceEnd_Window() argument
1083 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFReduceEnd_Window()
1088 PetscCall(PetscSFFindWindow(sf, unit, rootdata, leafdata, &win, &reqs)); in PetscSFReduceEnd_Window()
1089 if (reqs) PetscCallMPI(MPI_Waitall(sf->nranks, reqs, MPI_STATUSES_IGNORE)); in PetscSFReduceEnd_Window()
1090 …PetscCall(PetscSFRestoreWindow(sf, unit, rootdata, w->sync, PETSC_TRUE, MPI_MODE_NOSUCCEED, PETSC_… in PetscSFReduceEnd_Window()
1094 static PetscErrorCode PetscSFFetchAndOpBegin_Window(PetscSF sf, MPI_Datatype unit, PetscMemType roo… in PetscSFFetchAndOpBegin_Window() argument
1101 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFFetchAndOpBegin_Window()
1107 PetscCall(PetscSFGetRootRanks(sf, &nranks, NULL, NULL, NULL, NULL)); in PetscSFFetchAndOpBegin_Window()
1108 PetscCall(PetscSFWindowGetDataTypes(sf, unit, &mine, &remote)); in PetscSFFetchAndOpBegin_Window()
1115 …PetscCall(PetscSFGetWindow(sf, unit, rootdata, (void *)leafdata, PETSCSF_WINDOW_SYNC_LOCK, PETSC_F… in PetscSFFetchAndOpBegin_Window()
1117 …PetscCall(PetscSFGetWindow(sf, unit, rootdata, (void *)leafdata, w->sync, PETSC_TRUE, MPI_MODE_NOP… in PetscSFFetchAndOpBegin_Window()
1140 static PetscErrorCode PetscSFFetchAndOpEnd_Window(PetscSF sf, MPI_Datatype unit, void *rootdata, co… in PetscSFFetchAndOpEnd_Window() argument
1144 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFFetchAndOpEnd_Window()
1149 PetscCall(PetscSFFindWindow(sf, unit, rootdata, leafdata, &win, &reqs)); in PetscSFFetchAndOpEnd_Window()
1150 if (reqs) PetscCallMPI(MPI_Waitall(sf->nranks, reqs, MPI_STATUSES_IGNORE)); in PetscSFFetchAndOpEnd_Window()
1152 …PetscCall(PetscSFRestoreWindow(sf, unit, rootdata, w->sync, PETSC_TRUE, MPI_MODE_NOSUCCEED, PETSC_… in PetscSFFetchAndOpEnd_Window()
1154 …PetscCall(PetscSFRestoreWindow(sf, unit, rootdata, PETSCSF_WINDOW_SYNC_LOCK, PETSC_FALSE, 0, PETSC… in PetscSFFetchAndOpEnd_Window()
1159 PETSC_INTERN PetscErrorCode PetscSFCreate_Window(PetscSF sf) in PetscSFCreate_Window() argument
1161 PetscSF_Window *w = (PetscSF_Window *)sf->data; in PetscSFCreate_Window()
1164 sf->ops->SetUp = PetscSFSetUp_Window; in PetscSFCreate_Window()
1165 sf->ops->SetFromOptions = PetscSFSetFromOptions_Window; in PetscSFCreate_Window()
1166 sf->ops->Reset = PetscSFReset_Window; in PetscSFCreate_Window()
1167 sf->ops->Destroy = PetscSFDestroy_Window; in PetscSFCreate_Window()
1168 sf->ops->View = PetscSFView_Window; in PetscSFCreate_Window()
1169 sf->ops->Duplicate = PetscSFDuplicate_Window; in PetscSFCreate_Window()
1170 sf->ops->BcastBegin = PetscSFBcastBegin_Window; in PetscSFCreate_Window()
1171 sf->ops->BcastEnd = PetscSFBcastEnd_Window; in PetscSFCreate_Window()
1172 sf->ops->ReduceBegin = PetscSFReduceBegin_Window; in PetscSFCreate_Window()
1173 sf->ops->ReduceEnd = PetscSFReduceEnd_Window; in PetscSFCreate_Window()
1174 sf->ops->FetchAndOpBegin = PetscSFFetchAndOpBegin_Window; in PetscSFCreate_Window()
1175 sf->ops->FetchAndOpEnd = PetscSFFetchAndOpEnd_Window; in PetscSFCreate_Window()
1178 sf->data = (void *)w; in PetscSFCreate_Window()
1184 …PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFWindowSetSyncType_C", PetscSFWindowS… in PetscSFCreate_Window()
1185 …PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFWindowGetSyncType_C", PetscSFWindowG… in PetscSFCreate_Window()
1186 …PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFWindowSetFlavorType_C", PetscSFWindo… in PetscSFCreate_Window()
1187 …PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFWindowGetFlavorType_C", PetscSFWindo… in PetscSFCreate_Window()
1188 …PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFWindowSetInfo_C", PetscSFWindowSetIn… in PetscSFCreate_Window()
1189 …PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFWindowGetInfo_C", PetscSFWindowGetIn… in PetscSFCreate_Window()
1190 …PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFRegisterPersistent_C", PetscSFRegist… in PetscSFCreate_Window()
1191 …PetscCall(PetscObjectComposeFunction((PetscObject)sf, "PetscSFDeregisterPersistent_C", PetscSFDere… in PetscSFCreate_Window()
1199 …PetscCheck(ackbug, PetscObjectComm((PetscObject)sf), PETSC_ERR_LIB, "Open MPI is known to be buggy… in PetscSFCreate_Window()
1200 …PetscCall(PetscInfo(sf, "Acknowledged Open MPI bug, proceeding anyway. Expect memory corruption.\n… in PetscSFCreate_Window()