[petsc-users] using superlu_dist
Matt Funk
mafunk at nmsu.edu
Fri Sep 10 16:43:25 CDT 2010
HI Barry,
thanks for the heads up, however, i am not using the command line.
So what i did is when i set my pc i do:
if(m_preCondType == "LU_SUPERLU") {
m_ierr = PCSetType(m_pc, PCLU);
if (numProc() > 1) {
PCFactorSetMatSolverPackage(m_pc,MAT_SOLVER_SUPERLU_DIST);
}
else {
PCFactorSetMatSolverPackage(m_pc,MAT_SOLVER_SUPERLU);
}
}
and the matrix type is set to MATAIJ. Anyway, but i still need to distingiush
between superlu and superlu_dist it seems as specifying superlu for a parallel
run throws an error.
I suppose that when invoking this from the command line there is some code
that test to see whether this is a serial/parallel run and makes similar calls
as i did above?
thank you
matt
On Friday, September 10, 2010, Barry Smith wrote:
> This has all changed in the 3.0.0 release. It is much simpler now.
>
> Any ways you don't need that crap for differences between 1 or more
> processors. Just use MATAIJ always and use -pc_type lu
> -pc_factor_mat_solver_package superlu_dist with 3.0.0 or later
>
>
> Barry
>
> On Sep 10, 2010, at 3:59 PM, Matt Funk wrote:
> > Hi,
> >
> > i was wondering on how i need to set the matrix type when i want to use
> > the superlu_dist solver.
> >
> > Right now what i have is:
> > if (m_preCondType == "LU_SUPERLU") {
> >
> > if (numProc() > 1)
> >
> > m_ierr = MatSetType(m_globalMatrix, MATAIJ);
> >
> > else {
> >
> > m_ierr = MatSetType(m_globalMatrix, MATSEQAIJ);
> >
> > }
> >
> > }
> >
> > This i believe is according to the table in the petsc users manual
> > (p.82). Anyway, things work ok on 1 processor. However, when i try 8
> > processors (i.e. it tells me:
> > [3]PETSC ERROR: --------------------- Error Message
> > ------------------------------------
> > [3]PETSC ERROR: No support for this operation for this object type!
> > [3]PETSC ERROR: Matrix format mpiaij does not have a built-in PETSc
> > direct solver!
> >
> >
> > So i guess i should not use the MATAIJ matrix format? I also tried the
> > MATMPIAIJ format, but got the same problem.
> >
> > So how is one supposed to use it? Obviously i am doing something wrong.
> > Any help is appreciated.
> >
> > thanks
> > matt
More information about the petsc-users
mailing list