Home
last modified time | relevance | path

Searched refs:vtxdist (Results 1 – 4 of 4) sorted by relevance

/petsc/src/dm/partitioner/impls/ptscotch/
H A Dpartptscotch.c99 …PTScotch_PartGraph_MPI(SCOTCH_Num strategy, double imbalance, SCOTCH_Num vtxdist[], SCOTCH_Num xad… in PTScotch_PartGraph_MPI() argument
127 vertlocnbr = vtxdist[proclocnum + 1] - vtxdist[proclocnum]; in PTScotch_PartGraph_MPI()
207 PetscInt *vtxdist; /* Distribution of vertices across processes */ in PetscPartitionerPartition_PTScotch() local
221 PetscCall(PetscMalloc2(size + 1, &vtxdist, PetscMax(nvtxs, 1), &assignment)); in PetscPartitionerPartition_PTScotch()
223 vtxdist[0] = 0; in PetscPartitionerPartition_PTScotch()
224 PetscCallMPI(MPI_Allgather(&nvtxs, 1, MPIU_INT, &vtxdist[1], 1, MPIU_INT, comm)); in PetscPartitionerPartition_PTScotch()
226 hasempty = (PetscBool)(hasempty || !vtxdist[p - 1] || !vtxdist[p]); in PetscPartitionerPartition_PTScotch()
227 vtxdist[p] += vtxdist[p - 1]; in PetscPartitionerPartition_PTScotch()
230 if (vtxdist[size] == 0) { in PetscPartitionerPartition_PTScotch()
231 PetscCall(PetscFree2(vtxdist, assignment)); in PetscPartitionerPartition_PTScotch()
[all …]
/petsc/src/dm/partitioner/impls/parmetis/
H A Dpartparmetis.c84 …PetscInt *vtxdist; /* Distribution of vertices across processes */ in PetscPartitionerPartition_ParMetis() local
105 …PetscCall(PetscMalloc4(size + 1, &vtxdist, nparts * ncon, &tpwgts, ncon, &ubvec, nvtxs, &assignmen… in PetscPartitionerPartition_ParMetis()
106 vtxdist[0] = 0; in PetscPartitionerPartition_ParMetis()
107 PetscCallMPI(MPI_Allgather(&nvtxs, 1, MPIU_INT, &vtxdist[1], 1, MPIU_INT, comm)); in PetscPartitionerPartition_ParMetis()
109 hasempty = (PetscBool)(hasempty || !vtxdist[p - 1] || !vtxdist[p]); in PetscPartitionerPartition_ParMetis()
110 vtxdist[p] += vtxdist[p - 1]; in PetscPartitionerPartition_ParMetis()
113 if (vtxdist[size] == 0) { in PetscPartitionerPartition_ParMetis()
114 PetscCall(PetscFree4(vtxdist, tpwgts, ubvec, assignment)); in PetscPartitionerPartition_ParMetis()
157 for (p = 0; !vtxdist[p + 1] && p < size; ++p); in PetscPartitionerPartition_ParMetis()
158 if (vtxdist[p + 1] == vtxdist[size]) { in PetscPartitionerPartition_ParMetis()
[all …]
/petsc/src/mat/tests/
H A Dex152.c29 idx_t ni, isize, *vtxdist, *xadj, *adjncy, *vwgt, *part; in main() local
54 PetscCall(PetscMalloc1(size + 1, &vtxdist)); in main()
60 red = fread(vtxdist, sizeof(idx_t), size + 1, fp); in main()
63 ni = vtxdist[rank + 1] - vtxdist[rank]; in main()
104 …PetscCallPARMETIS(ParMETIS_V3_PartGeomKway(vtxdist, xadj, adjncy, vwgt, NULL, &wgtflag, &numflag, … in main()
107 PetscCall(PetscFree(vtxdist)); in main()
/petsc/src/mat/graphops/partition/impls/pmetis/
H A Dpmetis.c65 PetscInt *vtxdist = pmat->rmap->range; in MatPartitioningApply_Parmetis_Private() local
131 …PetscCallParmetis(ParMETIS_V32_NodeND, ((idx_t *)vtxdist, (idx_t *)xadj, (idx_t *)adjncy, (idx_t *… in MatPartitioningApply_Parmetis_Private()
153 …PetscCallParmetis(ParMETIS_V3_AdaptiveRepart, ((idx_t *)vtxdist, (idx_t *)xadj, (idx_t *)adjncy, (… in MatPartitioningApply_Parmetis_Private()
156 …PetscCallParmetis(ParMETIS_V3_RefineKway, ((idx_t *)vtxdist, (idx_t *)xadj, (idx_t *)adjncy, (idx_… in MatPartitioningApply_Parmetis_Private()
159 …PetscCallParmetis(ParMETIS_V3_PartKway, ((idx_t *)vtxdist, (idx_t *)xadj, (idx_t *)adjncy, (idx_t … in MatPartitioningApply_Parmetis_Private()