[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