Lines Matching refs:p
30 PetscPartitioner_ParMetis *p = (PetscPartitioner_ParMetis *)part->data; in PetscPartitionerDestroy_ParMetis() local
33 PetscCallMPI(MPI_Comm_free(&p->pcomm)); in PetscPartitionerDestroy_ParMetis()
40 PetscPartitioner_ParMetis *p = (PetscPartitioner_ParMetis *)part->data; in PetscPartitionerView_ParMetis_ASCII() local
44 PetscCall(PetscViewerASCIIPrintf(viewer, "ParMetis type: %s\n", ptypes[p->ptype])); in PetscPartitionerView_ParMetis_ASCII()
45 PetscCall(PetscViewerASCIIPrintf(viewer, "load imbalance ratio %g\n", (double)p->imbalanceRatio)); in PetscPartitionerView_ParMetis_ASCII()
46 PetscCall(PetscViewerASCIIPrintf(viewer, "debug flag %" PetscInt_FMT "\n", p->debugFlag)); in PetscPartitionerView_ParMetis_ASCII()
47 PetscCall(PetscViewerASCIIPrintf(viewer, "random seed %" PetscInt_FMT "\n", p->randomSeed)); in PetscPartitionerView_ParMetis_ASCII()
66 PetscPartitioner_ParMetis *p = (PetscPartitioner_ParMetis *)part->data; in PetscPartitionerSetFromOptions_ParMetis() local
70 …titioner_parmetis_type", "Partitioning method", "", ptypes, 2, ptypes[p->ptype], &p->ptype, NULL)); in PetscPartitionerSetFromOptions_ParMetis()
71 …oner_parmetis_imbalance_ratio", "Load imbalance ratio limit", "", p->imbalanceRatio, &p->imbalance… in PetscPartitionerSetFromOptions_ParMetis()
72 …ptionsInt("-petscpartitioner_parmetis_debug", "Debugging flag", "", p->debugFlag, &p->debugFlag, N… in PetscPartitionerSetFromOptions_ParMetis()
73 …PetscCall(PetscOptionsInt("-petscpartitioner_parmetis_seed", "Random seed", "", p->randomSeed, &p-… in PetscPartitionerSetFromOptions_ParMetis()
97 PetscMPIInt p, size, rank; in PetscPartitionerPartition_ParMetis() local
108 for (p = 2; p <= size; ++p) { in PetscPartitionerPartition_ParMetis()
109 hasempty = (PetscBool)(hasempty || !vtxdist[p - 1] || !vtxdist[p]); in PetscPartitionerPartition_ParMetis()
110 vtxdist[p] += vtxdist[p - 1]; in PetscPartitionerPartition_ParMetis()
120 PetscInt p; in PetscPartitionerPartition_ParMetis() local
123 for (p = 0; p < nparts; ++p) { in PetscPartitionerPartition_ParMetis()
126 PetscCall(PetscSectionGetDof(targetSection, p, &tpd)); in PetscPartitionerPartition_ParMetis()
128 tpwgts[p] = tpd; in PetscPartitionerPartition_ParMetis()
131 for (p = 0, sumt = 0.0; p < nparts; ++p) { 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()
140 for (p = 0; p < nparts; ++p) tpwgts[p] = (real_t)(1.0 / nparts); 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()
159 if (rank == p) { in PetscPartitionerPartition_ParMetis()
195 for (p = 0, cnt = 0; p < size; p++) { in PetscPartitionerPartition_ParMetis()
196 if (vtxdist[p + 1] != vtxdist[p]) { in PetscPartitionerPartition_ParMetis()
197 vtxdist[cnt + 1] = vtxdist[p + 1]; in PetscPartitionerPartition_ParMetis()
215 for (p = 0, i = 0; p < nparts; ++p) { in PetscPartitionerPartition_ParMetis()
217 if (assignment[v] == p) points[i++] = v; in PetscPartitionerPartition_ParMetis()
260 PetscPartitioner_ParMetis *p; in PetscPartitionerCreate_ParMetis() local
264 PetscCall(PetscNew(&p)); in PetscPartitionerCreate_ParMetis()
265 part->data = p; in PetscPartitionerCreate_ParMetis()
267 PetscCallMPI(MPI_Comm_dup(PetscObjectComm((PetscObject)part), &p->pcomm)); in PetscPartitionerCreate_ParMetis()
268 p->ptype = 0; in PetscPartitionerCreate_ParMetis()
269 p->imbalanceRatio = 1.05; in PetscPartitionerCreate_ParMetis()
270 p->debugFlag = 0; in PetscPartitionerCreate_ParMetis()
271 p->randomSeed = -1; /* defaults to GLOBAL_SEED=15 from `libparmetis/defs.h` */ in PetscPartitionerCreate_ParMetis()