[petsc-dev] sacusp preconditioner - limited to seqaijcusp matrices?

Barry Smith bsmith at mcs.anl.gov
Fri Dec 16 14:03:11 CST 2011


   John,

     I made a mistake in suggesting PCBJACOBI with cuda/cusp that is currently not workable with PETSc and requires some improvements to bjacobi.c to get it working.  We have no people here working on PETSc/CUDA-Cusp here nor very much knowledge about the subject. If you are a wizard at C and CUDA/CUSP we could step you through how to fix it, otherwise maybe someone else is willing to fix it?

   Barry


On Dec 16, 2011, at 1:38 PM, Satish Balay wrote:

> On Wed, 14 Dec 2011, Satish Balay wrote:
> 
>> On Wed, 14 Dec 2011, John Fettig wrote:
>> 
>>> On Tue, Sep 20, 2011 at 12:58 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>>> 
>>>> 
>>>> On Sep 20, 2011, at 11:54 AM, Brad Aagaard wrote:
>>>> 
>>>>> I tried running a PyLith simulation using the sacusp preconditioner
>>>> rather than ml. If I have the mat_type set to mpiaijcusp, I get an error
>>>> message that sacusp preconditioner only works with CUSP matrices. I checked
>>>> sacusp.c and the code checks to make sure the mat_type is seqaijcusp.
>>>> 
>>>>   Since the sacusp preconditioner is no MPI parallel it cannot deal with
>>>> MPI matrices. ML is a truly (MPI) parallel multi-level preconditioner so it
>>>> is not really interchangable with sacusp.
>>>> 
>>>>   You can use block Jacobi preconditioning -pc_type bjacobi -sub_pc_type
>>>> sacusp   with sacusp on each block.
>>> 
>>> 
>>> Hi Barry,
>>> 
>>> Sorry to dig up a very old thread, but I just tried your suggestion of
>>> using block jacobi with sacusp on the blocks and I can't get it to work.
>>> For example, I run src/ksp/ksp/examples/tutorials/ex2.c with:
>>> 
>>> mpirun -np 2 ./ex2 -ksp_type cg -pc_type bjacobi -sub_pc_type sacusp
>>> -mat_type mpiaijcusp -vec_type mpicusp
>>> 
>>> and it still bombs on line 139 of sacusp.cu because the vector type is not
>>> VECSEQCUSP.  What am I doing wrong?
>> 
>> 
>> Looks like VecDuplicate() -> VecDuplicate_MPICUSP() is returning a
>> 'mpi' Vec instead of 'mpicusp' Vec. [This is a bug?] will check..
> 
> Pushed a fix for VecDuplicate_MPICUSP(). However this is not
> sufficient to get bjacobi with cusp working.
> 
> Satish
> 




More information about the petsc-dev mailing list