Lines Matching refs:mpardiso

237   Mat_MKL_PARDISO     *mpardiso = (Mat_MKL_PARDISO *)F->data;  in MatMKLPardisoSolveSchur_Private()  local
244 PetscCall(MatCreateSeqDense(PETSC_COMM_SELF, mpardiso->schur_size, mpardiso->nrhs, B, &Bmat)); in MatMKLPardisoSolveSchur_Private()
245 PetscCall(MatCreateSeqDense(PETSC_COMM_SELF, mpardiso->schur_size, mpardiso->nrhs, X, &Xmat)); in MatMKLPardisoSolveSchur_Private()
254 …PetscCheck(mpardiso->iparm[12 - 1] != 1, PetscObjectComm((PetscObject)F), PETSC_ERR_SUP, "Hermitia… in MatMKLPardisoSolveSchur_Private()
259 if (!mpardiso->iparm[12 - 1]) { in MatMKLPardisoSolveSchur_Private()
267 if (!mpardiso->iparm[12 - 1]) { in MatMKLPardisoSolveSchur_Private()
289 Mat_MKL_PARDISO *mpardiso = (Mat_MKL_PARDISO *)F->data; in MatFactorSetSchurIS_MKL_PARDISO() local
302 PetscCall(PetscFree(mpardiso->schur_work)); in MatFactorSetSchurIS_MKL_PARDISO()
303 PetscCall(PetscBLASIntCast(PetscMax(mpardiso->n, 2 * size), &mpardiso->schur_work_size)); in MatFactorSetSchurIS_MKL_PARDISO()
304 PetscCall(PetscMalloc1(mpardiso->schur_work_size, &mpardiso->schur_work)); in MatFactorSetSchurIS_MKL_PARDISO()
308 mpardiso->schur = (PetscScalar *)arr; in MatFactorSetSchurIS_MKL_PARDISO()
309 mpardiso->schur_size = size; in MatFactorSetSchurIS_MKL_PARDISO()
311 if (mpardiso->mtype == 2) PetscCall(MatSetOption(F->schur, MAT_SPD, PETSC_TRUE)); in MatFactorSetSchurIS_MKL_PARDISO()
313 PetscCall(PetscFree(mpardiso->schur_idxs)); in MatFactorSetSchurIS_MKL_PARDISO()
314 PetscCall(PetscMalloc1(size, &mpardiso->schur_idxs)); in MatFactorSetSchurIS_MKL_PARDISO()
315 PetscCall(PetscArrayzero(mpardiso->perm, mpardiso->n)); in MatFactorSetSchurIS_MKL_PARDISO()
317 PetscCall(PetscArraycpy(mpardiso->schur_idxs, idxs, size)); in MatFactorSetSchurIS_MKL_PARDISO()
318 for (i = 0; i < size; i++) mpardiso->perm[idxs[i]] = 1; in MatFactorSetSchurIS_MKL_PARDISO()
321 mpardiso->iparm[36 - 1] = 2; in MatFactorSetSchurIS_MKL_PARDISO()
353 static PetscErrorCode MatMKLPardisoScatterSchur_Private(Mat_MKL_PARDISO *mpardiso, PetscScalar *who… in MatMKLPardisoScatterSchur_Private() argument
358 for (i = 0; i < mpardiso->nrhs; i++) { in MatMKLPardisoScatterSchur_Private()
360 for (j = 0; j < mpardiso->schur_size; j++) schur[p + j] = whole[m + mpardiso->schur_idxs[j]]; in MatMKLPardisoScatterSchur_Private()
361 m += mpardiso->n; in MatMKLPardisoScatterSchur_Private()
362 p += mpardiso->schur_size; in MatMKLPardisoScatterSchur_Private()
366 for (i = 0; i < mpardiso->nrhs; i++) { in MatMKLPardisoScatterSchur_Private()
368 for (j = 0; j < mpardiso->schur_size; j++) whole[m + mpardiso->schur_idxs[j]] = schur[p + j]; in MatMKLPardisoScatterSchur_Private()
369 m += mpardiso->n; in MatMKLPardisoScatterSchur_Private()
370 p += mpardiso->schur_size; in MatMKLPardisoScatterSchur_Private()