Searched refs:vtxdist (Results 1 – 4 of 4) sorted by relevance
| /petsc/src/dm/partitioner/impls/ptscotch/ |
| H A D | partptscotch.c | 99 …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 D | partparmetis.c | 84 …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 D | ex152.c | 29 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 D | pmetis.c | 65 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()
|