Lines Matching refs:iparm
40 pastix_int_t iparm[IPARM_SIZE]; /* Integer parameters */
122 pastix->iparm[IPARM_TRANSPOSE_SOLVE] = PastixTrans;
221 PetscCheck(pastix->iparm[IPARM_FACTORIZATION] == PastixFactGETRF, PetscObjectComm((PetscObject)F), PETSC_ERR_SUP, "Incorrect factorization type for symbolic and numerical factorization by PaStiX");
222 pastix->iparm[IPARM_FACTORIZATION] = PastixFactGETRF;
232 PetscCheck(pastix->iparm[IPARM_FACTORIZATION] == PastixFactSYTRF, PetscObjectComm((PetscObject)F), PETSC_ERR_SUP, "Incorrect factorization type for symbolic and numerical factorization by PaStiX");
233 pastix->iparm[IPARM_FACTORIZATION] = PastixFactSYTRF;
272 pastix->iparm[IPARM_FACTORIZATION] = PastixFactGETRF;
287 pastix->iparm[IPARM_FACTORIZATION] = PastixFactSYTRF;
308 PetscCall(PetscViewerASCIIPrintf(viewer, " Level of printing (0,1,2): %ld \n", (long)pastix->iparm[IPARM_VERBOSE]));
309 PetscCall(PetscViewerASCIIPrintf(viewer, " Number of refinements iterations : %ld \n", (long)pastix->iparm[IPARM_NBITER]));
311 if (pastix->iparm[IPARM_VERBOSE] > 0) spmPrintInfo(spm, stdout);
353 info->nz_allocated = pastix->iparm[IPARM_ALLOCATED_TERMS];
354 info->nz_used = pastix->iparm[IPARM_NNZEROS];
376 pastix_int_t *iparm = pastix->iparm;
385 iparm[IPARM_VERBOSE] = 0;
386 iparm[IPARM_ITERMAX] = 20;
388 PetscCall(PetscOptionsRangeInt("-mat_pastix_verbose", "iparm[IPARM_VERBOSE] : level of printing (0 to 2)", "None", iparm[IPARM_VERBOSE], &icntl, &set, 0, 2));
389 if (set) iparm[IPARM_VERBOSE] = (pastix_int_t)icntl;
391 PetscCall(PetscOptionsRangeInt("-mat_pastix_factorization", "iparm[IPARM_FACTORIZATION]: Factorization algorithm", "None", iparm[IPARM_FACTORIZATION], &icntl, &set, 0, 4));
392 if (set) iparm[IPARM_FACTORIZATION] = (pastix_int_t)icntl;
394 PetscCall(PetscOptionsBoundedInt("-mat_pastix_itermax", "iparm[IPARM_ITERMAX]: Max iterations", "None", iparm[IPARM_ITERMAX], &icntl, &set, 1));
395 if (set) iparm[IPARM_ITERMAX] = (pastix_int_t)icntl;
403 PetscCall(PetscOptionsRangeInt("-mat_pastix_ordering", "iparm[IPARM_ORDERING]: Ordering algorithm", "None", iparm[IPARM_ORDERING], &icntl, &set, 0, 2));
404 if (set) iparm[IPARM_ORDERING] = (pastix_int_t)icntl;
406 PetscCall(PetscOptionsBoundedInt("-mat_pastix_thread_nbr", "iparm[IPARM_THREAD_NBR]: Number of thread by MPI node", "None", iparm[IPARM_THREAD_NBR], &icntl, &set, -1));
407 if (set) iparm[IPARM_THREAD_NBR] = (pastix_int_t)icntl;
409 PetscCall(PetscOptionsRangeInt("-mat_pastix_scheduler", "iparm[IPARM_SCHEDULER]: Scheduler", "None", iparm[IPARM_SCHEDULER], &icntl, &set, 0, 4));
410 if (set) iparm[IPARM_SCHEDULER] = (pastix_int_t)icntl;
412 PetscCall(PetscOptionsRangeInt("-mat_pastix_compress_when", "iparm[IPARM_COMPRESS_WHEN]: When to compress", "None", iparm[IPARM_COMPRESS_WHEN], &icntl, &set, 0, 3));
413 if (set) iparm[IPARM_COMPRESS_WHEN] = (pastix_int_t)icntl;
457 PetscStackCallExternalVoid("pastixInitParam", pastixInitParam(pastix->iparm, pastix->dparm));
464 pastix->iparm[IPARM_SCOTCH_MT] = 0;
465 PetscStackCallExternalVoid("pastixInit", pastixInit(&pastix->pastix_data, pastix->comm, pastix->iparm, pastix->dparm));
471 pastix->iparm[IPARM_FACTORIZATION] = ftype == MAT_FACTOR_CHOLESKY ? PastixFactSYTRF : PastixFactGETRF;