Lines Matching refs:part
38 static PetscErrorCode MatPartitioningApply_Parmetis_Private(MatPartitioning part, PetscBool useND, … in MatPartitioningApply_Parmetis_Private() argument
40 MatPartitioning_Parmetis *pmetis = (MatPartitioning_Parmetis *)part->data; in MatPartitioningApply_Parmetis_Private()
42 Mat mat = part->adj, amat, pmat; in MatPartitioningApply_Parmetis_Private()
47 PetscValidHeaderSpecific(part, MAT_PARTITIONING_CLASSID, 1); in MatPartitioningApply_Parmetis_Private()
60 PetscCallMPI(MPI_Barrier(PetscObjectComm((PetscObject)part))); in MatPartitioningApply_Parmetis_Private()
69 …PetscInt itmp = 0, wgtflag = 0, numflag = 0, ncon = part->ncon, nparts = part->n, options[24], … in MatPartitioningApply_Parmetis_Private()
94 if (adj->values && part->use_edge_weights && !part->vertex_weights) wgtflag = 1; in MatPartitioningApply_Parmetis_Private()
95 if (part->vertex_weights && !adj->values) wgtflag = 2; in MatPartitioningApply_Parmetis_Private()
96 if (part->vertex_weights && adj->values && part->use_edge_weights) wgtflag = 3; in MatPartitioningApply_Parmetis_Private()
105 if (part->part_weights) { in MatPartitioningApply_Parmetis_Private()
106 tpwgts[i * nparts + j] = (real_t)part->part_weights[i * nparts + j]; in MatPartitioningApply_Parmetis_Private()
131 …S_V32_NodeND, ((idx_t *)vtxdist, (idx_t *)xadj, (idx_t *)adjncy, (idx_t *)part->vertex_weights, (i… in MatPartitioningApply_Parmetis_Private()
153 …(idx_t *)vtxdist, (idx_t *)xadj, (idx_t *)adjncy, (idx_t *)part->vertex_weights, (idx_t *)part->ve… in MatPartitioningApply_Parmetis_Private()
156 …3_RefineKway, ((idx_t *)vtxdist, (idx_t *)xadj, (idx_t *)adjncy, (idx_t *)part->vertex_weights, (i… in MatPartitioningApply_Parmetis_Private()
159 …_V3_PartKway, ((idx_t *)vtxdist, (idx_t *)xadj, (idx_t *)adjncy, (idx_t *)part->vertex_weights, (i… in MatPartitioningApply_Parmetis_Private()
176 …PetscCall(ISCreateGeneral(PetscObjectComm((PetscObject)part), bs * pmat->rmap->n, newlocals, PETSC… in MatPartitioningApply_Parmetis_Private()
178 …PetscCall(ISCreateGeneral(PetscObjectComm((PetscObject)part), pmat->rmap->n, locals, PETSC_OWN_POI… in MatPartitioningApply_Parmetis_Private()
184 …PetscCall(ISCreateBlock(PetscObjectComm((PetscObject)part), bs, pmat->rmap->n, NDorder, PETSC_OWN_… in MatPartitioningApply_Parmetis_Private()
186 …PetscCall(ISCreateGeneral(PetscObjectComm((PetscObject)part), pmat->rmap->n, NDorder, PETSC_OWN_PO… in MatPartitioningApply_Parmetis_Private()
193 …PetscCall(ISCreateGeneral(PetscObjectComm((PetscObject)part), 0, NULL, PETSC_COPY_VALUES, partitio… in MatPartitioningApply_Parmetis_Private()
198 …PetscCall(ISCreateBlock(PetscObjectComm((PetscObject)part), bs, 0, NULL, PETSC_COPY_VALUES, &ndis)… in MatPartitioningApply_Parmetis_Private()
200 … PetscCall(ISCreateGeneral(PetscObjectComm((PetscObject)part), 0, NULL, PETSC_COPY_VALUES, &ndis)); in MatPartitioningApply_Parmetis_Private()
215 static PetscErrorCode MatPartitioningApplyND_Parmetis(MatPartitioning part, IS *partitioning) in MatPartitioningApplyND_Parmetis() argument
218 PetscCall(MatPartitioningApply_Parmetis_Private(part, PETSC_TRUE, PETSC_FALSE, partitioning)); in MatPartitioningApplyND_Parmetis()
225 static PetscErrorCode MatPartitioningApply_Parmetis(MatPartitioning part, IS *partitioning) in MatPartitioningApply_Parmetis() argument
228 PetscCall(MatPartitioningApply_Parmetis_Private(part, PETSC_FALSE, PETSC_FALSE, partitioning)); in MatPartitioningApply_Parmetis()
235 static PetscErrorCode MatPartitioningImprove_Parmetis(MatPartitioning part, IS *partitioning) in MatPartitioningImprove_Parmetis() argument
238 PetscCall(MatPartitioningApply_Parmetis_Private(part, PETSC_FALSE, PETSC_TRUE, partitioning)); in MatPartitioningImprove_Parmetis()
242 static PetscErrorCode MatPartitioningView_Parmetis(MatPartitioning part, PetscViewer viewer) in MatPartitioningView_Parmetis() argument
244 MatPartitioning_Parmetis *pmetis = (MatPartitioning_Parmetis *)part->data; in MatPartitioningView_Parmetis()
249 PetscCallMPI(MPI_Comm_rank(PetscObjectComm((PetscObject)part), &rank)); in MatPartitioningView_Parmetis()
279 PetscErrorCode MatPartitioningParmetisSetCoarseSequential(MatPartitioning part) in MatPartitioningParmetisSetCoarseSequential() argument
281 MatPartitioning_Parmetis *pmetis = (MatPartitioning_Parmetis *)part->data; in MatPartitioningParmetisSetCoarseSequential()
301 PetscErrorCode MatPartitioningParmetisSetRepartition(MatPartitioning part) in MatPartitioningParmetisSetRepartition() argument
303 MatPartitioning_Parmetis *pmetis = (MatPartitioning_Parmetis *)part->data; in MatPartitioningParmetisSetRepartition()
323 PetscErrorCode MatPartitioningParmetisGetEdgeCut(MatPartitioning part, PetscInt *cut) in MatPartitioningParmetisGetEdgeCut() argument
325 MatPartitioning_Parmetis *pmetis = (MatPartitioning_Parmetis *)part->data; in MatPartitioningParmetisGetEdgeCut()
332 static PetscErrorCode MatPartitioningSetFromOptions_Parmetis(MatPartitioning part, PetscOptionItems… in MatPartitioningSetFromOptions_Parmetis() argument
339 if (flag) PetscCall(MatPartitioningParmetisSetCoarseSequential(part)); in MatPartitioningSetFromOptions_Parmetis()
341 if (flag) PetscCall(MatPartitioningParmetisSetRepartition(part)); in MatPartitioningSetFromOptions_Parmetis()
346 static PetscErrorCode MatPartitioningDestroy_Parmetis(MatPartitioning part) in MatPartitioningDestroy_Parmetis() argument
348 MatPartitioning_Parmetis *pmetis = (MatPartitioning_Parmetis *)part->data; in MatPartitioningDestroy_Parmetis()
375 PETSC_EXTERN PetscErrorCode MatPartitioningCreate_Parmetis(MatPartitioning part) in MatPartitioningCreate_Parmetis() argument
381 part->data = (void *)pmetis; in MatPartitioningCreate_Parmetis()
390 part->ops->apply = MatPartitioningApply_Parmetis; in MatPartitioningCreate_Parmetis()
391 part->ops->applynd = MatPartitioningApplyND_Parmetis; in MatPartitioningCreate_Parmetis()
392 part->ops->improve = MatPartitioningImprove_Parmetis; in MatPartitioningCreate_Parmetis()
393 part->ops->view = MatPartitioningView_Parmetis; in MatPartitioningCreate_Parmetis()
394 part->ops->destroy = MatPartitioningDestroy_Parmetis; in MatPartitioningCreate_Parmetis()
395 part->ops->setfromoptions = MatPartitioningSetFromOptions_Parmetis; in MatPartitioningCreate_Parmetis()