[petsc-dev] refactoring petsccusp.h needed

Paul Mullowney paulm at txcorp.com
Fri Mar 8 15:48:21 CST 2013


Yes. I can work on this.
>    Paul,
>
>      We are thinking of a PETSc release around March 21. Before that time petsccusp.h
>
> #if !defined(__PETSCCUSP_H)
> #define __PETSCCUSP_H
> /*
>      This should only be included in user code that uses CUSP directly and hence the file name ends with .cu
> */
> #include<../src/vec/vec/impls/dvecimpl.h>
> #include<../src/vec/vec/impls/seq/seqcusp/cuspvecimpl.h>
> #endif
>
> so that ONLY the public interface of the stuff (what needs to be known to user code) is available and the rest is kept in the cuspvecimpl.h file. Maybe pets ccu
> sp.h could be empty, I don't know).
Wish list:
1) I would like a public method that exposes the GPU device pointers to 
the user. For example, we have VecGetArrayRead(). But, this gives a CPU 
pointer (which in turn causes a memcpy from CPU to GPU).  We need 
something that returns the GPU device pointer. This is useful for 
embedded PETSc solves in external apps that want to use the GPU.

2) As for other things. I have a patch for ICC that I'm nearly finished 
with. After that, I'm going to try to harden the other CUSP 
preconditioners so that they work with the CUSP and CUSPARSE classes.

-Paul
>     Do you think you can make that change and anything else that needs doing before the release?
>
>     Thanks
>      Barry
>




More information about the petsc-dev mailing list