[petsc-dev] PETSc GPU capabilities

Paul Mullowney paulm at txcorp.com
Thu Mar 8 12:37:20 CST 2012


There is some level of reusability between the matrix type data 
structures, especially for CSR storage. For other matrix storage 
formats, like ELLPACK where the performance gain can be substantial, 
CUSPARSE uses an opaque data structure. CUSP does not.

So, I agree that it's wrong to mix CUSP and CUSPARSE implementations. At 
some level I think it's wrong to be so hooked into CUSP and have all the 
files named after CUSP. This is especially true since the evidence I'm 
gathering suggests that CUSPARSE is the better choice for SpMV and 
TriSolve.

Meanwhile, CUSP is the right choice for various preconditioners, ...

So much complexity! Perhaps, a discussion on redesign is necessary.

-Paul


> On Wed, Mar 7, 2012 at 18:38, Paul Mullowney <paulm at txcorp.com 
> <mailto:paulm at txcorp.com>> wrote:
>
>     I can see where this can simplify the code in aijcusp.cu
>     <http://aijcusp.cu>.
>
>     However, how do you propose to let the user control whether or not
>     to use CUSP or CUSPARSE?
>
>
> It's different storage and different libraries, so it should be a 
> different MatType, right? I think it's definitely wrong to have 
> -mat_type cusp be using CUSPARSE instead of CUSP.
>
>
>         What do you mean? Look at
>         src/mat/impls/aij/seq/umfpack/umfpack.c for comparison.
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120308/81ae4c68/attachment.html>


More information about the petsc-dev mailing list