Lines Matching refs:km

93   PC_MPI     *km   = pc ? (PC_MPI *)pc->data : NULL;  in PCMPICreate()  local
114 if (km) mincntperrank = km->mincntperrank; in PCMPICreate()
127 PetscCallMPI(MPI_Gather(&ksp, 1, MPI_AINT, pc ? km->ksps : NULL, 1, MPI_AINT, 0, comm)); in PCMPICreate()
158 PC_MPI *km = pc ? (PC_MPI *)pc->data : NULL; in PCMPISetMat() local
174 PetscCallMPI(MPI_Scatter(pc ? km->ksps : NULL, 1, MPI_AINT, &ksp, 1, MPI_AINT, 0, comm)); in PCMPISetMat()
227 NZ = km->NZ; in PCMPISetMat()
228 NZdispl = km->NZdispl; in PCMPISetMat()
302 km->sendcount[i] = range[i + 1] - range[i]; in PCMPISetMat()
303 km->displ[i] = range[i]; in PCMPISetMat()
315 PC_MPI *km = pc ? (PC_MPI *)pc->data : NULL; in PCMPIUpdateMatValues() local
332 PetscCallMPI(MPI_Scatter(pc ? km->ksps : NULL, 1, MPI_AINT, &ksp, 1, MPI_AINT, 0, comm)); in PCMPIUpdateMatValues()
347 …PetscCallMPI(MPIU_Scatterv(sa, pc ? km->NZ : NULL, pc ? km->NZdispl : NULL, MPIU_SCALAR, (void *)a… in PCMPIUpdateMatValues()
386 PC_MPI *km = pc ? (PC_MPI *)pc->data : NULL; in PCMPISolve() local
396 PetscCallMPI(MPI_Scatter(pc ? km->ksps : &ksp, 1, MPI_AINT, &ksp, 1, MPI_AINT, 0, comm)); in PCMPISolve()
416 …PetscCallMPI(MPIU_Scatterv(sb, pc ? km->sendcount : NULL, pc ? km->displ : NULL, MPIU_SCALAR, b, n… in PCMPISolve()
452 …PetscCallMPI(MPIU_Gatherv(x, n, MPIU_SCALAR, sx, pc ? km->sendcount : NULL, pc ? km->displ : NULL,… in PCMPISolve()
468 PC_MPI *km = pc ? (PC_MPI *)pc->data : NULL; in PCMPIDestroy() local
473 PetscCallMPI(MPI_Scatter(pc ? km->ksps : NULL, 1, MPI_AINT, &ksp, 1, MPI_AINT, 0, comm)); in PCMPIDestroy()
717 PC_MPI *km = (PC_MPI *)pc->data; in PCSetUp_Seq() local
726 PetscCall(KSPCreate(PETSC_COMM_SELF, &km->ksps[0])); in PCSetUp_Seq()
727 PetscCall(KSPSetNestLevel(km->ksps[0], 1)); in PCSetUp_Seq()
728 PetscCall(PetscObjectSetTabLevel((PetscObject)km->ksps[0], 1)); in PCSetUp_Seq()
737 PetscCall(KSPSetOptionsPrefix(km->ksps[0], cprefix)); in PCSetUp_Seq()
740 PetscCall(KSPSetOperators(km->ksps[0], sA, sA)); in PCSetUp_Seq()
741 PetscCall(KSPSetFromOptions(km->ksps[0])); in PCSetUp_Seq()
742 PetscCall(KSPSetUp(km->ksps[0])); in PCSetUp_Seq()
751 PC_MPI *km = (PC_MPI *)pc->data; in PCApply_Seq() local
757 PetscCall(KSPSolve(km->ksps[0], b, x)); in PCApply_Seq()
758 PetscCall(KSPGetIterationNumber(km->ksps[0], &its)); in PCApply_Seq()
761 PetscCall(KSPGetOperators(km->ksps[0], NULL, &A)); in PCApply_Seq()
769 PetscCall(VecDestroy(&km->ksps[0]->vec_rhs)); in PCApply_Seq()
770 PetscCall(VecDestroy(&km->ksps[0]->vec_sol)); in PCApply_Seq()
776 PC_MPI *km = (PC_MPI *)pc->data; in PCView_Seq() local
780 …nimum number of nonzeros per rank for MPI parallel solve %" PetscInt_FMT "\n", km->mincntperrank)); in PCView_Seq()
787 PC_MPI *km = (PC_MPI *)pc->data; in PCDestroy_Seq() local
794 PetscCall(KSPGetOperators(km->ksps[0], &A, &B)); in PCDestroy_Seq()
797 PetscCall(KSPGetSolution(km->ksps[0], &x)); in PCDestroy_Seq()
799 PetscCall(KSPGetRhs(km->ksps[0], &b)); in PCDestroy_Seq()
801 PetscCall(KSPDestroy(&km->ksps[0])); in PCDestroy_Seq()
817 PC_MPI *km = (PC_MPI *)pc->data; in PCSetUp_MPI() local
827 if (!km->alwaysuseserver) { in PCSetUp_MPI()
833 if (n < 2 * km->mincntperrank - 1 || size == 1) { in PCSetUp_MPI()
883 PC_MPI *km = (PC_MPI *)pc->data; in PCView_MPI() local
888 PetscCall(PetscObjectGetComm((PetscObject)km->ksps[0], &comm)); in PCView_MPI()
891 …f matrix rows on each MPI process for MPI parallel solve %" PetscInt_FMT "\n", km->mincntperrank)); in PCView_MPI()
898 PC_MPI *km = (PC_MPI *)pc->data; in PCSetFromOptions_MPI() local
902 …er_rank", "Desired minimum number of nonzeros per rank", "None", km->mincntperrank, &km->mincntper… in PCSetFromOptions_MPI()
903 …f only one rank is used for the solve (for debugging)", "None", km->alwaysuseserver, &km->alwaysus… in PCSetFromOptions_MPI()
947 PC_MPI *km; in PCCreate_MPI() local
965 PetscCall(PetscNew(&km)); in PCCreate_MPI()
966 pc->data = (void *)km; in PCCreate_MPI()
968 km->mincntperrank = 10000; in PCCreate_MPI()