Lines Matching refs:vtxdist
84 PetscInt *vtxdist; /* Distribution of vertices across processes */
105 PetscCall(PetscMalloc4(size + 1, &vtxdist, nparts * ncon, &tpwgts, ncon, &ubvec, nvtxs, &assignment));
106 vtxdist[0] = 0;
107 PetscCallMPI(MPI_Allgather(&nvtxs, 1, MPIU_INT, &vtxdist[1], 1, MPIU_INT, comm));
109 hasempty = (PetscBool)(hasempty || !vtxdist[p - 1] || !vtxdist[p]);
110 vtxdist[p] += vtxdist[p - 1];
113 if (vtxdist[size] == 0) {
114 PetscCall(PetscFree4(vtxdist, tpwgts, ubvec, assignment));
157 for (p = 0; !vtxdist[p + 1] && p < size; ++p);
158 if (vtxdist[p + 1] == vtxdist[size]) {
196 if (vtxdist[p + 1] != vtxdist[p]) {
197 vtxdist[cnt + 1] = vtxdist[p + 1];
205 err = ParMETIS_V3_PartKway(vtxdist, xadj, adjncy, vwgt, adjwgt, &wgtflag, &numflag, &ncon, &nparts, tpwgts, ubvec, options, &part->edgeCut, assignment, &pcomm);
222 PetscCall(PetscFree4(vtxdist, tpwgts, ubvec, assignment));