[petsc-users] Why does CHOLMOD solution time differs between PETSc and MATLAB?

Barry Smith bsmith at mcs.anl.gov
Fri Nov 21 14:34:58 CST 2014


> On Nov 21, 2014, at 1:46 PM, Abhyankar, Shrirang G. <abhyshr at mcs.anl.gov> wrote:
> 
> I think this may have to do with the matrix reodering scheme. I think CHOLMOD, used by MATLAB backslash operator, uses AMD (approximate min. degree) ordering scheme by default. PETSc's default reordering scheme is nested dissection. For PETSc + MATLAB, use the option -pc_factor_mat_ordering_type qmd 

   This is possible and definitely worth trying with different orders, but I checked the nonzeros in the matrix and the L factor for both approaches and they are very similar

PETSc call:
 Common.fl                1.81877e+10 (flop count from most recent analysis)
 Common.lnz               4.46748e+07 (fundamental nz in L)

  MatLab call:
  flop count: 1.8188e+10
   nnz(L):     4.4675e+07

  Unless I am misunderstanding something both factors likely look very similar.

  Barry


> 
> Shri
> 
> On Nov 21, 2014, at 11:23 AM, "Victor Magri" <victor.antonio.magri at gmail.com> wrote:
> 
>> Hi,
>> 
>> I'm solving a linear system which comes from the discretization of an elliptic equation. The mesh has 1 million control volumes and there are two more constraints for the system.
>> 
>> First, I've solved it in MATLAB using backslash command, which in turn calls CHOLMOD once the matrix is SPD. Using tic and toc funtions, I could see that it takes about 2s for the system to be solved (See attached for more details).
>> 
>> I wrote both matrix and rhs in PETSc binary format and solved the linear system using the example problem defined in ksp/examples/tutorials/ex10.c. The command line options were:
>> 
>> mpiexec -n -1 ./ex10 -f A1mi.dat -rhs rhs1mi.dat -log_summary -ksp_monitos -ksp_view -ksp_type preonly -pc_type cholesky -pc_factor_mat_solver_package cholmod
>> 
>> The configuration parameters for CHOLMOD in PETSc and MATLAB seems the same, so I was expecting a similar computation time, but it took about 13s to solve in PETSc. (See attached for more details).
>> 
>> Why does CHOLMOD solution time differs between them?
>> 
>> If someone wants to try for yourself, here are the binaries for the matrix and the rhs, respectively.
>> https://www.dropbox.com/s/q9s6mlrmv1qdxon/A1mi.dat?dl=0
>> https://www.dropbox.com/s/2zadcbjg5d9bycy/rhs1mi.dat?dl=0
>> 
>> 
>> 
>> <PetscOutput.dat>
>> <MatlabOutput.dat>



More information about the petsc-users mailing list