[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