| /petsc/src/dm/partitioner/impls/matpart/ |
| H A D | partmatpart.c | 93 PetscReal *tpwgts = NULL; in PetscPartitionerPartition_MatPartitioning() local 124 PetscCall(PetscMalloc1(nparts, &tpwgts)); in PetscPartitionerPartition_MatPartitioning() 130 tpwgts[p] = tpd; in PetscPartitionerPartition_MatPartitioning() 134 tpwgts[p] = PetscMax(tpwgts[p], PETSC_SMALL); in PetscPartitionerPartition_MatPartitioning() 135 sumt += tpwgts[p]; in PetscPartitionerPartition_MatPartitioning() 137 for (p = 0; p < nparts; ++p) tpwgts[p] /= sumt; in PetscPartitionerPartition_MatPartitioning() 138 for (p = 0, sumt = 0.0; p < nparts - 1; ++p) sumt += tpwgts[p]; in PetscPartitionerPartition_MatPartitioning() 139 tpwgts[nparts - 1] = 1. - sumt; in PetscPartitionerPartition_MatPartitioning() 141 PetscCall(PetscFree(tpwgts)); in PetscPartitionerPartition_MatPartitioning() 144 PetscCall(MatPartitioningSetPartitionWeights(p->mp, tpwgts)); in PetscPartitionerPartition_MatPartitioning()
|
| /petsc/src/dm/partitioner/impls/parmetis/ |
| H A D | partparmetis.c | 93 …real_t *tpwgts; /* The fraction of vertex weights assigned to … in PetscPartitionerPartition_ParMetis() local 105 …PetscCall(PetscMalloc4(size + 1, &vtxdist, nparts * ncon, &tpwgts, ncon, &ubvec, nvtxs, &assignmen… in PetscPartitionerPartition_ParMetis() 114 PetscCall(PetscFree4(vtxdist, tpwgts, ubvec, assignment)); in PetscPartitionerPartition_ParMetis() 128 tpwgts[p] = tpd; in PetscPartitionerPartition_ParMetis() 132 tpwgts[p] = (real_t)PetscMax(tpwgts[p], PETSC_SMALL); in PetscPartitionerPartition_ParMetis() 133 sumt += tpwgts[p]; in PetscPartitionerPartition_ParMetis() 135 for (p = 0; p < nparts; ++p) tpwgts[p] /= sumt; in PetscPartitionerPartition_ParMetis() 136 for (p = 0, sumt = 0.0; p < nparts - 1; ++p) sumt += tpwgts[p]; in PetscPartitionerPartition_ParMetis() 137 tpwgts[nparts - 1] = (real_t)(1. - sumt); in PetscPartitionerPartition_ParMetis() 140 for (p = 0; p < nparts; ++p) tpwgts[p] = (real_t)(1.0 / nparts); in PetscPartitionerPartition_ParMetis() [all …]
|
| /petsc/src/dm/partitioner/impls/simple/ |
| H A D | partsimple.c | 121 PetscInt np, *tpwgts = NULL, sumw = 0, numVerticesGlobal = 0; in PetscPartitionerPartition_Simple() local 134 PetscCall(PetscCalloc1(nparts, &tpwgts)); in PetscPartitionerPartition_Simple() 136 PetscCall(PetscSectionGetDof(targetSection, np, &tpwgts[np])); in PetscPartitionerPartition_Simple() 137 sumw += tpwgts[np]; in PetscPartitionerPartition_Simple() 141 for (np = 0; np < nparts; ++np) tpwgts[np] = (tpwgts[np] * numVerticesGlobal) / sumw; in PetscPartitionerPartition_Simple() 143 if (m < tpwgts[np]) { in PetscPartitionerPartition_Simple() 144 m = tpwgts[np]; in PetscPartitionerPartition_Simple() 147 sumw += tpwgts[np]; in PetscPartitionerPartition_Simple() 149 if (sumw != numVerticesGlobal) tpwgts[mp] += numVerticesGlobal - sumw; in PetscPartitionerPartition_Simple() 151 if (!sumw) PetscCall(PetscFree(tpwgts)); in PetscPartitionerPartition_Simple() [all …]
|
| /petsc/src/mat/tests/ |
| H A D | ex152.c | 33 real_t *sxyz, *tpwgts, ubvec[1]; in main() local 82 PetscCall(PetscMalloc3(ni * ndims, &xyz, ni, &part, size, &tpwgts)); in main() 93 for (PetscInt i = 0; i < size; i++) tpwgts[i] = (real_t)(1. / size); in main() 104 …dj, adjncy, vwgt, NULL, &wgtflag, &numflag, &ndims, sxyz, &ncon, &isize, tpwgts, ubvec, options, &… in main() 110 PetscCall(PetscFree3(xyz, part, tpwgts)); in main()
|
| /petsc/src/dm/partitioner/impls/ptscotch/ |
| H A D | partptscotch.c | 215 PetscInt *tpwgts = NULL; in PetscPartitionerPartition_PTScotch() local 251 PetscCall(PetscCalloc1(nparts, &tpwgts)); in PetscPartitionerPartition_PTScotch() 253 PetscCall(PetscSectionGetDof(targetSection, p, &tpwgts[p])); in PetscPartitionerPartition_PTScotch() 254 sumw += tpwgts[p]; in PetscPartitionerPartition_PTScotch() 256 if (!sumw) PetscCall(PetscFree(tpwgts)); in PetscPartitionerPartition_PTScotch() 266 …Scotch_PartGraph_Seq(strat, imbal, nvtxs, xadj, adjncy, vwgt, adjwgt, nparts, tpwgts, assignment)); in PetscPartitionerPartition_PTScotch() 281 …PartGraph_MPI(strat, imbal, vtxdist, xadj, adjncy, vwgt, adjwgt, nparts, tpwgts, assignment, pcomm… in PetscPartitionerPartition_PTScotch() 287 PetscCall(PetscFree(tpwgts)); in PetscPartitionerPartition_PTScotch()
|
| /petsc/src/mat/graphops/partition/impls/pmetis/ |
| H A D | pmetis.c | 70 real_t *tpwgts, *ubvec, itr = (real_t)0.1; in MatPartitioningApply_Parmetis_Private() local 102 PetscCall(PetscMalloc1(ncon * nparts, &tpwgts)); in MatPartitioningApply_Parmetis_Private() 106 tpwgts[i * nparts + j] = (real_t)part->part_weights[i * nparts + j]; in MatPartitioningApply_Parmetis_Private() 108 tpwgts[i * nparts + j] = (real_t)1. / nparts; in MatPartitioningApply_Parmetis_Private() 153 … (idx_t *)&wgtflag, (idx_t *)&numflag, (idx_t *)&ncon, (idx_t *)&nparts, tpwgts, ubvec, &itr, (idx… in MatPartitioningApply_Parmetis_Private() 156 … (idx_t *)&wgtflag, (idx_t *)&numflag, (idx_t *)&ncon, (idx_t *)&nparts, tpwgts, ubvec, (idx_t *)o… in MatPartitioningApply_Parmetis_Private() 159 … (idx_t *)&wgtflag, (idx_t *)&numflag, (idx_t *)&ncon, (idx_t *)&nparts, tpwgts, ubvec, (idx_t *)o… in MatPartitioningApply_Parmetis_Private() 165 PetscCall(PetscFree(tpwgts)); in MatPartitioningApply_Parmetis_Private()
|
| /petsc/src/dm/impls/plex/ |
| H A D | plexpartition.c | 1692 real_t *tpwgts; in DMPlexRebalanceSharedPoints() local 1821 PetscCall(PetscMalloc1(ncon * nparts, &tpwgts)); in DMPlexRebalanceSharedPoints() 1822 for (i = 0; i < ncon * nparts; i++) tpwgts[i] = (real_t)(1. / (nparts)); in DMPlexRebalanceSharedPoints() 1881 …xadj, (idx_t *)adjncy, vtxwgt, NULL, &wgtflag, &numflag, &ncon, &nparts, tpwgts, ubvec, options, &… in DMPlexRebalanceSharedPoints() 1888 …xadj, (idx_t *)adjncy, vtxwgt, NULL, &wgtflag, &numflag, &ncon, &nparts, tpwgts, ubvec, options, &… in DMPlexRebalanceSharedPoints() 1932 …g, &ncon, (idx_t *)xadj, (idx_t *)adjncy, vtxwgt_g, NULL, NULL, &nparts, tpwgts, ubvec, options, &… in DMPlexRebalanceSharedPoints() 1957 PetscCall(PetscFree(tpwgts)); in DMPlexRebalanceSharedPoints()
|