| /petsc/src/vec/is/sf/tutorials/ |
| H A D | ex1.c | 172 PetscInt *rootdata, *leafdata; in main() local 175 PetscCall(PetscMalloc2(nrootsalloc, &rootdata, nleavesalloc, &leafdata)); in main() 180 for (i = 0; i < nleavesalloc; i++) leafdata[i] = -1; in main() 183 PetscCall(PetscSFRegisterPersistent(sf, MPIU_INT, rootdata, leafdata)); in main() 185 PetscCall(PetscSFBcastBegin(sf, MPIU_INT, rootdata, leafdata, MPI_REPLACE)); in main() 186 PetscCall(PetscSFBcastEnd(sf, MPIU_INT, rootdata, leafdata, MPI_REPLACE)); in main() 188 PetscCall(PetscSFDeregisterPersistent(sf, MPIU_INT, rootdata, leafdata)); in main() 192 PetscCall(PetscIntView(nleavesalloc, leafdata, PETSC_VIEWER_STDOUT_WORLD)); in main() 193 PetscCall(PetscFree2(rootdata, leafdata)); in main() 199 char *rootdata, *leafdata; in main() local [all …]
|
| H A D | ex1f.F90 | 16 PetscInt rootdata(6), leafdata(6) 84 leafdata(i) = -1 88 PetscCallA(PetscSFBcastBegin(sf, MPIU_INTEGER, rootdata, leafdata, MPI_REPLACE, ierr)) 89 PetscCallA(PetscSFBcastEnd(sf, MPIU_INTEGER, rootdata, leafdata, MPI_REPLACE, ierr)) 93 PetscCallA(PetscIntView(nleavesalloc, leafdata, PETSC_VIEWER_STDOUT_WORLD, ierr)) 96 PetscCallA(PetscSFReduceBegin(sf, MPIU_INTEGER, leafdata, rootdata, MPI_SUM, ierr)) 97 PetscCallA(PetscSFReduceEnd(sf, MPIU_INTEGER, leafdata, rootdata, MPI_SUM, ierr)) 99 PetscCallA(PetscIntView(nleavesalloc, leafdata, PETSC_VIEWER_STDOUT_WORLD, ierr))
|
| /petsc/src/vec/is/sf/tests/ |
| H A D | ex3.c | 12 PetscScalar *rootdata, *leafdata, *leafupdate; in main() local 63 PetscCall(VecGetArray(y, &leafdata)); in main() 67 PetscCall(PetscSFBcastBegin(gathersf, MPIU_SCALAR, rootdata, leafdata, MPI_REPLACE)); in main() 68 PetscCall(PetscSFBcastEnd(gathersf, MPIU_SCALAR, rootdata, leafdata, MPI_REPLACE)); in main() 69 PetscCall(VecRestoreArray(y, &leafdata)); in main() 71 PetscCall(VecGetArray(y, &leafdata)); in main() 74 PetscCall(PetscSFFetchAndOpBegin(gathersf, MPIU_SCALAR, rootdata, leafdata, leafupdate, op)); in main() 75 PetscCall(PetscSFFetchAndOpEnd(gathersf, MPIU_SCALAR, rootdata, leafdata, leafupdate, op)); in main() 89 PetscCall(VecRestoreArray(y, &leafdata)); in main() 118 PetscCall(VecGetArray(y, &leafdata)); in main() [all …]
|
| H A D | ex4k.kokkos.cxx | 41 PetscScalar *rootdata = NULL, *leafdata = NULL, *pbuf, *ebuf; in main() local 74 PetscCall(PetscMalloc2(maxn, &rootdata, maxn, &leafdata)); in main() 77 PetscCallCXX(leafdata = (PetscScalar *)Kokkos::kokkos_malloc(sizeof(PetscScalar) * maxn)); in main() 115 PetscCall(PetscArraycpy(leafdata, ebuf, n)); in main() 118 Kokkos::View<PetscScalar *> dst2((PetscScalar *)leafdata, n); in main() 137 … PetscCall(PetscSFBcastWithMemTypeBegin(sf[j], MPIU_SCALAR, mtype, rootdata, mtype, leafdata, op)); in main() 138 PetscCall(PetscSFBcastEnd(sf[j], MPIU_SCALAR, rootdata, leafdata, op)); in main() 139 …PetscCall(PetscSFReduceWithMemTypeBegin(sf[j], MPIU_SCALAR, mtype, leafdata, mtype, rootdata, op)); in main() 140 PetscCall(PetscSFReduceEnd(sf[j], MPIU_SCALAR, leafdata, rootdata, op)); in main() 155 PetscCall(PetscFree2(rootdata, leafdata)); in main() [all …]
|
| H A D | ex25.c | 13 int *rootdata = NULL, *leafdata = NULL; in main() local 39 …PetscCall(PetscCalloc2(nroots * m, &rootdata, nleaves * m, &leafdata)); // allocate fat nodes to a… in main() 51 …PetscCall(PetscSFBcastBegin(sf, newtype, rootdata, leafdata, MPI_REPLACE)); // bcast rootdata to … in main() 52 PetscCall(PetscSFBcastEnd(sf, newtype, rootdata, leafdata, MPI_REPLACE)); in main() 54 …if (rank == 1) PetscCheck(leafdata[nleaves * m - 1] == 123, PETSC_COMM_SELF, PETSC_ERR_PLIB, "SF: … in main() 57 PetscCall(PetscFree2(rootdata, leafdata)); in main()
|
| H A D | ex17.c | 13 char *rootdata = NULL, *leafdata = NULL; in main() local 43 PetscCall(PetscMalloc2(nroots, &rootdata, nleaves, &leafdata)); in main() 49 …PetscCall(PetscSFBcastBegin(sf, MPI_SIGNED_CHAR, rootdata, leafdata, MPI_REPLACE)); /* rank 0->1, … in main() 50 PetscCall(PetscSFBcastEnd(sf, MPI_SIGNED_CHAR, rootdata, leafdata, MPI_REPLACE)); in main() 51 …PetscCall(PetscSFReduceBegin(sf, MPI_SIGNED_CHAR, leafdata, rootdata, MPI_SUM)); /* rank 1->0, add… in main() 52 PetscCall(PetscSFReduceEnd(sf, MPI_SIGNED_CHAR, leafdata, rootdata, MPI_SUM)); in main() 55 PetscCall(PetscFree2(rootdata, leafdata)); in main()
|
| /petsc/src/binding/petsc4py/src/petsc4py/PETSc/ |
| H A D | SF.pyx | 168 Locations of leaves in leafdata buffers. 204 Locations of leaves in leafdata buffers, pass `None` for contiguous 434 def bcastBegin(self, unit: Datatype, ndarray rootdata, ndarray leafdata, op: Op) -> None: argument 448 leafdata 461 <void*>PyArray_DATA(leafdata), cop)) 463 def bcastEnd(self, unit: Datatype, ndarray rootdata, ndarray leafdata, op: Op) -> None: argument 474 leafdata 487 <void*>PyArray_DATA(leafdata), cop)) 489 def reduceBegin(self, unit: Datatype, ndarray leafdata, ndarray rootdata, op: Op) -> None: argument 490 """Begin reduction of leafdata into rootdata. [all …]
|
| /petsc/src/vec/is/sf/interface/ftn-custom/ |
| H A D | zsf.c | 135 void *leafdata; in petscsfbcastbegin_() local 142 *ierr = F90Array1dAccess(lptr, dtype, (void **)&leafdata PETSC_F90_2PTR_PARAM(lptrd)); in petscsfbcastbegin_() 144 *ierr = PetscSFBcastBegin(*sf, dtype, rootdata, leafdata, cop); in petscsfbcastbegin_() 151 void *leafdata; in petscsfbcastend_() local 158 *ierr = F90Array1dAccess(lptr, dtype, (void **)&leafdata PETSC_F90_2PTR_PARAM(lptrd)); in petscsfbcastend_() 160 *ierr = PetscSFBcastEnd(*sf, dtype, rootdata, leafdata, cop); in petscsfbcastend_() 166 const void *leafdata; in petscsfreducebegin_() local 174 *ierr = F90Array1dAccess(lptr, dtype, (void **)&leafdata PETSC_F90_2PTR_PARAM(lptrd)); in petscsfreducebegin_() 176 *ierr = PetscSFReduceBegin(*sf, dtype, leafdata, rootdata, cop); in petscsfreducebegin_() 182 const void *leafdata; in petscsfreduceend_() local [all …]
|
| /petsc/src/vec/is/sf/impls/basic/allgatherv/ |
| H A D | sfallgatherv.c | 102 …t, PetscMemType rootmtype, const void *rootdata, PetscMemType leafmtype, void *leafdata, MPI_Op op) in PetscSFBcastBegin_Allgatherv() argument 112 …PetscCall(PetscSFLinkCreate(sf, unit, rootmtype, rootdata, leafmtype, leafdata, op, PETSCSF_BCAST,… in PetscSFBcastBegin_Allgatherv() 129 …herv(PetscSF sf, MPI_Datatype unit, PetscMemType leafmtype, const void *leafdata, PetscMemType roo… in PetscSFReduceBegin_Allgatherv() argument 140 …PetscCall(PetscSFLinkCreate(sf, unit, rootmtype, rootdata, leafmtype, leafdata, op, PETSCSF_REDUCE… in PetscSFReduceBegin_Allgatherv() 144 …PetscCall((*link->Memcpy)(link, rootmtype, rootdata, leafmtype, (const char *)leafdata + (size_t)r… in PetscSFReduceBegin_Allgatherv() 148 PetscCall(PetscSFLinkPackLeafData(sf, link, PETSCSF_REMOTE, leafdata)); in PetscSFReduceBegin_Allgatherv() 195 … PetscSFReduceEnd_Allgatherv(PetscSF sf, MPI_Datatype unit, const void *leafdata, void *rootdata, … in PetscSFReduceEnd_Allgatherv() argument 207 PetscCall(PetscSFLinkGetInUse(sf, unit, rootdata, leafdata, PETSC_OWN_POINTER, &link)); in PetscSFReduceEnd_Allgatherv() 210 PetscCall(PetscSFReduceEnd_Basic(sf, unit, leafdata, rootdata, op)); in PetscSFReduceEnd_Allgatherv() 215 …atatype unit, PetscMemType rootmtype, const void *rootdata, PetscMemType leafmtype, void *leafdata) in PetscSFBcastToZero_Allgatherv() argument [all …]
|
| /petsc/src/vec/is/sf/impls/basic/allgather/ |
| H A D | sfallgather.c | 31 …t, PetscMemType rootmtype, const void *rootdata, PetscMemType leafmtype, void *leafdata, MPI_Op op) in PetscSFBcastBegin_Allgather() argument 40 …PetscCall(PetscSFLinkCreate(sf, unit, rootmtype, rootdata, leafmtype, leafdata, op, PETSCSF_BCAST,… in PetscSFBcastBegin_Allgather() 51 …ther(PetscSF sf, MPI_Datatype unit, PetscMemType leafmtype, const void *leafdata, PetscMemType roo… in PetscSFReduceBegin_Allgather() argument 62 …PetscCall(PetscSFLinkCreate(sf, unit, rootmtype, rootdata, leafmtype, leafdata, op, PETSCSF_REDUCE… in PetscSFReduceBegin_Allgather() 66 …PetscCall((*link->Memcpy)(link, rootmtype, rootdata, leafmtype, (const char *)leafdata + (size_t)r… in PetscSFReduceBegin_Allgather() 71 PetscCall(PetscSFLinkPackLeafData(sf, link, PETSCSF_REMOTE, leafdata)); in PetscSFReduceBegin_Allgather() 85 …atatype unit, PetscMemType rootmtype, const void *rootdata, PetscMemType leafmtype, void *leafdata) in PetscSFBcastToZero_Allgather() argument 95 …PetscCall(PetscSFLinkCreate(sf, unit, rootmtype, rootdata, leafmtype, leafdata, MPI_REPLACE, PETSC… in PetscSFBcastToZero_Allgather() 103 PetscCall(PetscSFLinkGetInUse(sf, unit, rootdata, leafdata, PETSC_OWN_POINTER, &link)); in PetscSFBcastToZero_Allgather() 107 …PetscCall((*link->Memcpy)(link, PETSC_MEMTYPE_DEVICE, leafdata, PETSC_MEMTYPE_HOST, link->leafbuf[… in PetscSFBcastToZero_Allgather()
|
| /petsc/src/vec/is/sf/impls/window/ |
| H A D | sfwindow.c | 30 void *leafdata; member 427 …e PetscSFGetWindow(PetscSF sf, MPI_Datatype unit, void *rootdata, void *leafdata, PetscSFWindowSyn… in PetscSFGetWindow() argument 455 …(link->flavor == w->flavor && link->rootdata == rootdata && link->leafdata == leafdata) ? PETSC_TR… in PetscSFGetWindow() 490 link->leafdata = leafdata; in PetscSFGetWindow() 505 link->leafdata = leafdata; in PetscSFGetWindow() 605 …Window(PetscSF sf, MPI_Datatype unit, const void *rootdata, const void *leafdata, MPI_Win *win, MP… in PetscSFFindWindow() argument 622 if (rootdata == link->rootdata && leafdata == link->leafdata && bytes == link->bytes) { in PetscSFFindWindow() 728 link->leafdata = NULL; in PetscSFRestoreWindow() 861 …egisterPersistent_Window(PetscSF sf, MPI_Datatype unit, const void *rootdata, const void *leafdata) in PetscSFRegisterPersistent_Window() argument 886 link->leafdata = (void *)leafdata; in PetscSFRegisterPersistent_Window() [all …]
|
| /petsc/src/vec/is/sf/impls/basic/ |
| H A D | sfbasic.c | 352 …t, PetscMemType rootmtype, const void *rootdata, PetscMemType leafmtype, void *leafdata, MPI_Op op) in PetscSFBcastBegin_Basic() argument 358 …PetscCall(PetscSFLinkCreate(sf, unit, rootmtype, rootdata, leafmtype, leafdata, op, PETSCSF_BCAST,… in PetscSFBcastBegin_Basic() 364 PetscCall(PetscSFLinkScatterLocal(sf, link, PETSCSF_ROOT2LEAF, (void *)rootdata, leafdata, op)); in PetscSFBcastBegin_Basic() 368 …tscSFBcastEnd_Basic(PetscSF sf, MPI_Datatype unit, const void *rootdata, void *leafdata, MPI_Op op) in PetscSFBcastEnd_Basic() argument 374 PetscCall(PetscSFLinkGetInUse(sf, unit, rootdata, leafdata, PETSC_OWN_POINTER, &link)); in PetscSFBcastEnd_Basic() 378 PetscCall(PetscSFLinkUnpackLeafData(sf, link, PETSCSF_REMOTE, leafdata, op)); in PetscSFBcastEnd_Basic() 385 …asic(PetscSF sf, MPI_Datatype unit, PetscMemType leafmtype, const void *leafdata, PetscMemType roo… in PetscSFLeafToRootBegin_Basic() argument 390 PetscCall(PetscSFLinkCreate(sf, unit, rootmtype, rootdata, leafmtype, leafdata, op, sfop, &link)); in PetscSFLeafToRootBegin_Basic() 391 PetscCall(PetscSFLinkPackLeafData(sf, link, PETSCSF_REMOTE, leafdata)); in PetscSFLeafToRootBegin_Basic() 398 …asic(PetscSF sf, MPI_Datatype unit, PetscMemType leafmtype, const void *leafdata, PetscMemType roo… in PetscSFReduceBegin_Basic() argument [all …]
|
| H A D | sfpack.c | 224 …leafstart, PetscSFPackOpt leafopt, const PetscInt *leafidx, const void *leafdata, void *leafupdate… 227 const Type *ldata = (const Type *)leafdata; \ 420 …pe rootmtype, const void *rootdata, PetscMemType leafmtype, const void *leafdata, MPI_Op op, Petsc… in PetscSFLinkCreate() argument 423 PetscCall(PetscSFSetErrorOnUnsupportedOverlap(sf, unit, rootdata, leafdata)); in PetscSFLinkCreate() 427 PetscCall(PetscSFLinkNvshmemCheck(sf, rootmtype, rootdata, leafmtype, leafdata, &use_nvshmem)); in PetscSFLinkCreate() 429 …PetscCall(PetscSFLinkCreate_NVSHMEM(sf, unit, rootmtype, rootdata, leafmtype, leafdata, op, sfop, … in PetscSFLinkCreate() 434 …PetscCall(PetscSFLinkCreate_MPI(sf, unit, rootmtype, rootdata, leafmtype, leafdata, op, sfop, myli… in PetscSFLinkCreate() 438 …tInUse(PetscSF sf, MPI_Datatype unit, const void *rootdata, const void *leafdata, PetscCopyMode cm… in PetscSFLinkGetInUse() argument 448 if (match && (rootdata == link->rootdata) && (leafdata == link->leafdata)) { in PetscSFLinkGetInUse() 472 link->leafdata = NULL; in PetscSFLinkReclaim() [all …]
|
| H A D | sfmpi.c | 64 … xrootmtype, const void *rootdata, PetscMemType xleafmtype, const void *leafdata, MPI_Op op, Petsc… in PetscSFLinkCreate_MPI() argument 132 …eafreqsinited[direction][leafmtype][1] && link->leafdatadirect[direction][leafmtype] != leafdata) { in PetscSFLinkCreate_MPI() 199 link->leafbuf[i][leafmtype] = (char *)leafdata + sf->leafstart[i] * link->unitbytes; in PetscSFLinkCreate_MPI() 222 if (leafdirect_mpi) link->leafdatadirect[direction][leafmtype] = leafdata; in PetscSFLinkCreate_MPI() 226 link->leafdata = leafdata; in PetscSFLinkCreate_MPI()
|
| /petsc/src/vec/is/sf/interface/ |
| H A D | sf.c | 1343 signed char *rootdata, *leafdata, *leafmem; in PetscSFCreateEmbeddedRootSF() local 1372 leafdata = PetscSafePointerPlusOffset(leafmem, -minleaf); in PetscSFCreateEmbeddedRootSF() 1375 PetscCall(PetscSFBcastBegin(sf, MPI_SIGNED_CHAR, rootdata, leafdata, MPI_REPLACE)); in PetscSFCreateEmbeddedRootSF() 1376 PetscCall(PetscSFBcastEnd(sf, MPI_SIGNED_CHAR, rootdata, leafdata, MPI_REPLACE)); in PetscSFCreateEmbeddedRootSF() 1385 esf_nleaves += (leafdata[j] ? 1 : 0); in PetscSFCreateEmbeddedRootSF() 1391 if (leafdata[j]) { in PetscSFCreateEmbeddedRootSF() 1487 …e PetscSFBcastBegin(PetscSF sf, MPI_Datatype unit, const void *rootdata, void *leafdata, MPI_Op op) in PetscSFBcastBegin() argument 1496 PetscCall(PetscGetMemType(leafdata, &leafmtype)); in PetscSFBcastBegin() 1497 PetscUseTypeMethod(sf, BcastBegin, unit, rootmtype, rootdata, leafmtype, leafdata, op); in PetscSFBcastBegin() 1523 …t, PetscMemType rootmtype, const void *rootdata, PetscMemType leafmtype, void *leafdata, MPI_Op op) in PetscSFBcastWithMemTypeBegin() argument [all …]
|
| /petsc/include/ |
| H A D | petscsf.h | 215 …scSFBcastAndOpBegin(PetscSF sf, MPI_Datatype unit, const void *rootdata, void *leafdata, MPI_Op op) in PetscSFBcastAndOpBegin() argument 217 return PetscSFBcastBegin(sf, unit, rootdata, leafdata, op); in PetscSFBcastAndOpBegin() 221 …etscSFBcastAndOpEnd(PetscSF sf, MPI_Datatype unit, const void *rootdata, void *leafdata, MPI_Op op) in PetscSFBcastAndOpEnd() argument 223 return PetscSFBcastEnd(sf, unit, rootdata, leafdata, op); in PetscSFBcastAndOpEnd() 227 …t, PetscMemType rootmtype, const void *rootdata, PetscMemType leafmtype, void *leafdata, MPI_Op op) in PetscSFBcastAndOpWithMemtypeBegin() argument 229 return PetscSFBcastWithMemTypeBegin(sf, unit, rootmtype, rootdata, leafmtype, leafdata, op); in PetscSFBcastAndOpWithMemtypeBegin()
|
| /petsc/src/dm/impls/plex/ |
| H A D | plexsfc.c | 438 PetscInt *rootdata, *leafdata; in CreateDonorToPeriodicSF() local 447 PetscCall(PetscCalloc2(2 * nroots, &rootdata, 2 * nroots, &leafdata)); in CreateDonorToPeriodicSF() 451 leafdata[point] = point_sizes[point - pStart]; in CreateDonorToPeriodicSF() 453 PetscCall(PetscSFReduceBegin(face_sf, MPIU_INT, leafdata, rootdata + nroots, MPIU_SUM)); in CreateDonorToPeriodicSF() 454 PetscCall(PetscSFReduceEnd(face_sf, MPIU_INT, leafdata, rootdata + nroots, MPIU_SUM)); in CreateDonorToPeriodicSF() 473 PetscCall(PetscSFBcastBegin(face_sf, MPIU_2INT, rootdata, leafdata, MPI_REPLACE)); in CreateDonorToPeriodicSF() 474 PetscCall(PetscSFBcastEnd(face_sf, MPIU_2INT, rootdata, leafdata, MPI_REPLACE)); in CreateDonorToPeriodicSF() 479 if (leafdata[2 * point + 1] < 0) continue; in CreateDonorToPeriodicSF() 480 leaf_offset += leafdata[2 * point + 1]; in CreateDonorToPeriodicSF() 488 PetscInt cl_size = leafdata[2 * point + 1]; in CreateDonorToPeriodicSF() [all …]
|
| /petsc/src/vec/is/sf/impls/basic/gatherv/ |
| H A D | sfgatherv.c | 43 …cMemType rootmtype, void *rootdata, PetscMemType leafmtype, const void *leafdata, void *leafupdate… in PetscSFFetchAndOpBegin_Gatherv() argument 49 PetscCall(PetscSFReduceBegin(sf, unit, leafdata, rootdata, op)); in PetscSFFetchAndOpBegin_Gatherv()
|
| /petsc/src/vec/is/utils/ |
| H A D | isltog.c | 1230 PetscInt *mask, *mrootdata, *leafdata, *newleafdata, *leafrd, *tmpg; in ISLocalToGlobalMappingSetUpBlockInfo_Private() local 1264 …PetscCall(PetscMalloc3(2 * PetscMax(mnroots, nroots), &mrootdata, 2 * nleaves, &leafdata, nleaves,… in ISLocalToGlobalMappingSetUpBlockInfo_Private() 1270 PetscCall(PetscSFBcastBegin(sf, MPIU_2INT, mrootdata, leafdata, MPI_REPLACE)); in ISLocalToGlobalMappingSetUpBlockInfo_Private() 1271 PetscCall(PetscSFBcastEnd(sf, MPIU_2INT, mrootdata, leafdata, MPI_REPLACE)); in ISLocalToGlobalMappingSetUpBlockInfo_Private() 1275 newnleaves += leafdata[2 * i]; in ISLocalToGlobalMappingSetUpBlockInfo_Private() 1276 leafrd[i] = leafdata[2 * i]; in ISLocalToGlobalMappingSetUpBlockInfo_Private() 1284 newsfnode[m].index = leafdata[2 * i + 1] + j; in ISLocalToGlobalMappingSetUpBlockInfo_Private() 1291 for (i = 0; i < nleaves; i++) leafdata[i] = rank; in ISLocalToGlobalMappingSetUpBlockInfo_Private() 1293 PetscCall(PetscSFGatherBegin(sf, MPIU_INT, leafdata, mrootdata)); in ISLocalToGlobalMappingSetUpBlockInfo_Private() 1294 PetscCall(PetscSFGatherEnd(sf, MPIU_INT, leafdata, mrootdata)); in ISLocalToGlobalMappingSetUpBlockInfo_Private() [all …]
|
| /petsc/doc/manual/ |
| H A D | vec.md | 1391 `PetscSF` communicates between `rootdata` and `leafdata` arrays. `rootdata` is distributed across t… 1403 …leafdata` is similar to PETSc local vectors; each MPI process's `leafdata` array can contain "ghos… 1416 // provide the matching location in rootdata for each entry in leafdata 1444 PetscInt *rootdata, *leafdata; 1454 Finally, we use the `PetscSF` to communicate `rootdata` to `leafdata`: 1457 PetscSFBcastBegin(sf, MPIU_INT, rootdata, leafdata, MPI_REPLACE); 1458 PetscSFBcastEnd(sf, MPIU_INT, rootdata, leafdata, MPI_REPLACE); 1461 Now `leafdata` on MPI rank 0 contains (1, 3, 2) and on MPI rank 1 contains (1, 2, 3). 1463 It is also possible to move `leafdata` to `rootdata` using 1466 PetscSFReduceBegin(sf, MPIU_INT, leafdata, rootdata, MPIU_SUM); [all …]
|
| /petsc/src/vec/is/sf/impls/basic/nvshmem/ |
| H A D | sfnvshmem.cu | 159 …pe rootmtype, const void *rootdata, PetscMemType leafmtype, const void *leafdata, PetscBool *use_n… in PetscSFLinkNvshmemCheck() argument 182 PetscInt hasNullRank = (!rootdata && !leafdata) ? 1 : 0; in PetscSFLinkNvshmemCheck() 191 …PetscInt oneCuda = (!rootdata || PetscMemTypeCUDA(rootmtype)) && (!leafdata || PetscMemTypeCUDA(le… in PetscSFLinkNvshmemCheck() 687 …pe rootmtype, const void *rootdata, PetscMemType leafmtype, const void *leafdata, MPI_Op op, Petsc… in PetscSFLinkCreate_NVSHMEM() argument 776 …link->leafbuf[PETSCSF_REMOTE][PETSC_MEMTYPE_DEVICE] = (char *)leafdata + sf->leafstart[PETSCSF_REM… in PetscSFLinkCreate_NVSHMEM() 785 link->leafdata = leafdata; in PetscSFLinkCreate_NVSHMEM()
|
| /petsc/src/vec/vec/utils/ |
| H A D | vscat.c | 887 PetscInt inedges=0,*leafdata,*rootdata; in VecScatterCreate() 895 PetscCall(PetscMalloc2(nleaves,&iremote,nleaves*2,&leafdata)); in VecScatterCreate() 899 leafdata[2*i] = yindices[i]; in VecScatterCreate() 900 leafdata[2*i+1] = (xcommsize > 1)? xindices[i] : xindices[i] + xstart; in VecScatterCreate() 911 PetscCall(PetscSFGatherBegin(tmpsf,MPIU_2INT,leafdata,rootdata)); in VecScatterCreate() 912 PetscCall(PetscSFGatherEnd(tmpsf,MPIU_2INT,leafdata,rootdata)); in VecScatterCreate() 914 PetscCall(PetscFree2(iremote,leafdata)); in VecScatterCreate()
|
| /petsc/src/vec/is/sf/impls/basic/cupm/ |
| H A D | sfcupm_impl.hpp | 131 …eafstart, const PetscInt *leafopt, const PetscInt *leafidx, const Type *leafdata, Type *leafupdate) in d_FetchAndOpLocal() argument 139 for (PetscInt i = 0; i < MBS; i++) leafupdate[l + i] = op(rootdata[r + i], leafdata[l + i]); in d_FetchAndOpLocal() 377 …leafstart, PetscSFPackOpt leafopt, const PetscInt *leafidx, const void *leafdata, void *leafupdate… in FetchAndOpLocal() argument 384 …y, rootidx, (Type *)rootdata, leafstart, larray, leafidx, (const Type *)leafdata, (Type *)leafupda… in FetchAndOpLocal()
|
| /petsc/src/vec/is/sf/impls/basic/kokkos/ |
| H A D | sfkok.kokkos.cxx | 386 const Type *leafdata = static_cast<const Type *>(leafdata_); in FetchAndOpLocal() local 394 for (int i = 0; i < MBS; i++) leafupdate[l + i] = op(rootdata[r + i], leafdata[l + i]); in FetchAndOpLocal()
|
| /petsc/doc/changes/ |
| H A D | 312.md | 114 - PetscSF is now CUDA-aware. The rootdata, leafdata arguments passed
|