Dear all,<div>    Sorry for the subject of this email, I had no better ideas to introduce the topic (-: I spent a couple of hours yesterday night trying to figure out about a strange behavior of PETSc-3.1-p6 using SUPERLU_dist. This problem arises if I combine the usage of KSPSetOptionsPrefix()/PCSetOptionsPrefix() and "-ksp_view" option. This is the error that I obtain:</div>

<meta charset="utf-8"><div><br></div><div><div><font class="Apple-style-span" color="#000099">KSP Object:(lop_)</font></div><div><font class="Apple-style-span" color="#000099">  type: gmres</font></div><div><font class="Apple-style-span" color="#000099">    GMRES: restart=30, using Classical (unmodified) Gram-Schmidt Orthogonalization with no iterative refinement</font></div>

<div><font class="Apple-style-span" color="#000099">    GMRES: happy breakdown tolerance 1e-30</font></div><div><font class="Apple-style-span" color="#000099">  maximum iterations=1000, initial guess is zero</font></div>
<div>
<font class="Apple-style-span" color="#000099">  tolerances:  relative=1e-14, absolute=1e-14, divergence=10000</font></div><div><font class="Apple-style-span" color="#000099">  left preconditioning</font></div><div><font class="Apple-style-span" color="#000099">  using PRECONDITIONED norm type for convergence test</font></div>

<div><font class="Apple-style-span" color="#000099">PC Object:(lop_)</font></div><div><font class="Apple-style-span" color="#000099">  type: lu</font></div><div><font class="Apple-style-span" color="#000099">    LU: out-of-place factorization</font></div>

<div><font class="Apple-style-span" color="#000099">    tolerance for zero pivot 1e-12</font></div><div><font class="Apple-style-span" color="#000099">    matrix ordering: nd</font></div><div><font class="Apple-style-span" color="#000099">    factor fill ratio given 0, needed 0</font></div>

<div><font class="Apple-style-span" color="#000099">      Factored matrix follows:</font></div><div><font class="Apple-style-span" color="#000099">        Matrix Object:</font></div><div><font class="Apple-style-span" color="#000099">          type=seqaij, rows=242, cols=242</font></div>

<div><font class="Apple-style-span" color="#000099">          package used to perform factorization: superlu_dist</font></div><div><font class="Apple-style-span" color="#000099">          total: nonzeros=0, allocated nonzeros=242</font></div>

<div><font class="Apple-style-span" color="#000099">            SuperLU_DIST run parameters:</font></div><div><font class="Apple-style-span" color="#000099">              Process grid nprow 1 x npcol 1 </font></div><div>
<font class="Apple-style-span" color="#000099">              Equilibrate matrix TRUE </font></div>
<div><font class="Apple-style-span" color="#000099">              Matrix input mode 0 </font></div><div><font class="Apple-style-span" color="#000099">              Replace tiny pivots TRUE </font></div><div><font class="Apple-style-span" color="#000099">              Use iterative refinement FALSE </font></div>

<div><font class="Apple-style-span" color="#000099">              Processors in row 1 col partition 1 </font></div><div><font class="Apple-style-span" color="#000099">              Row permutation LargeDiag </font></div>
<div>
<font class="Apple-style-span" color="#000099">[0|09:06:54]: unknown: MatFactorInfo_SuperLU_DIST() line 705 in src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c: Unknown column permutation</font></div></div><div><br></div>

<div><br></div><div>Inside the code, I have these lines:</div><div><br></div><div><div><font class="Apple-style-span" color="#000099">ierr = KSPCreate(PETSC_COMM_WORLD,&ksp); CHKERRQ(ierr);</font></div><div><font class="Apple-style-span" color="#000099">ierr = KSPSetOptionsPrefix(ksp,"lop_"); CHKERRQ(ierr);</font></div>

<div><font class="Apple-style-span" color="#000099">ierr = KSPGetPC(ksp,&precond); CHKERRQ(ierr);</font></div><div><font class="Apple-style-span" color="#000099">ierr = PCSetOptionsPrefix(precond,"lop_"); CHKERRQ(ierr);</font></div>

</div><div><div><font class="Apple-style-span" color="#000099">ierr = KSPSetFromOptions(ksp); CHKERRQ(ierr);</font></div><div><font class="Apple-style-span" color="#000099">ierr = KSPSolve(ksp,b,*u); CHKERRQ(ierr);</font></div>

</div><div><br></div><div>so all the options that I pass to PETSc (using "PetscOptionsSetValue()" or the command line) must have the "lop_" prefix. These are my options:</div><div><br></div><div><font class="Apple-style-span" color="#000099">-lop_ksp_rtol 1.e-10 -lop_ksp_atol  1.e-10 -lop_ksp_monitor -lop_ksp_converged_reason -lop_ksp_type gmres -lop_ksp_monitor_true_residual -lop_pc_type lu -lop_pc_factor_mat_solver_package superlu_dist -lop_ksp_view</font></div>

<div><br></div><div><br></div><div>If I remove "-lop_ksp_view", the error that I reported disappears (and also disappear the final summary</div><meta charset="utf-8"><div>If I remove -lop_pc_type lu -lop_pc_factor_mat_solver_package superlu_dist" and I use HYPRE ("-lop_pc_type hypre") and I keep the option "-lop_ksp_view" as valid option, the problem does not appear.</div>

<meta charset="utf-8"><div>If I remove "-lop_ksp_view" from command line but after "KSPSolve()" I add "KSPView()", the problem persists.</div><div>If I suppress the prefix ("-ksp_rtol 1.e-10 -ksp_atol ... -ksp_view"), the problem does not appear.</div>

<meta charset="utf-8"><div><br></div><div>PETSc-3.1-p3, PETSc-3.1-p4 and PETSc-3.1-p5 are not affected of this problem (other machines that I use have these versions installed, the code runs without problems). In the meanwhile I am recompiling PETSc-3.1-p6 on another machine. </div>

<div><br></div><div>Do you have any suggestion to skip/solve this problem? (if it is a real problem, maybe I did something wrong...)</div><div><br></div><div>Many thanks in advance,</div><div>Cheers</div><div><br></div><div>

--<br>Filippo SPIGA, MSc Computer Science<br><div>~ homepage: <a href="http://tinyurl.com/fspiga" target="_blank">http://tinyurl.com/fspiga</a> ~<br> <br>«Nobody will drive us out of Cantor's paradise.»<br>    -- David Hilbert<br>

<br>*****<br>Disclaimer: "Please note this message and any attachment are CONFIDENTIAL an may be privileged or otherwise protected from disclosure. The contents are not to be disclosed to anyone other than the addressee. Unauthorized recipients are requested to preserve this confidentiality and to advise the sender immediately of any error in transmission."</div>

<br>
</div>