[petsc-dev] refactoring petsccusp.h needed

Chetan Jhurani chetan.jhurani at gmail.com
Tue Mar 19 14:57:53 CDT 2013


Hi Barry / others,

Could you look at the attached diff, which avoids
exposing private functionality through the petsccusp
header?

It now exposes stuff relevant to VecCUSP* API calls
only and requires changes to these files.

include/petsccusp.h
src/snes/examples/tutorials/ex47cu.cu
src/vec/vec/impls/seq/seqcusp/cuspvecimpl.h
src/vec/vec/impls/seq/seqcusp/veccusp.cu

Paul is on travel.  Hence I am working on this.
Let me know if there are any issues.

Chetan

> -----Original Message-----
> From: petsc-dev-bounces at mcs.anl.gov [mailto:petsc-dev-bounces at mcs.anl.gov] On Behalf Of Paul Mullowney
> Sent: Friday, March 15, 2013 3:43 PM
> To: Barry Smith
> Cc: For users of the development version of PETSc
> Subject: Re: [petsc-dev] refactoring petsccusp.h needed
> 
> Barry,
> 
> Is March 21 still the target release date? I will look into this asap if
> that's the case but I've been trying to fix some other PETSc GPU
> problems in GMRES and BCGS algorithms.
> 
> For GMRES, the current performance of VecMDot_SeqCUSP sucks. I have an
> solution, but I haven't tested all cases yet.
> For BCGS, some part of the algorithm is broken but I don't know what it
> is. By broken, I mean that CPU and GPU residuals diverge fairly quickly.
> 
> -Paul
> >    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 ccusp.h could be empty, I don't know).
> >
> >     Do you think you can make that change and anything else that needs doing before the release?
> >
> >     Thanks
> >      Barry
> >
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cusp.diff
Type: application/octet-stream
Size: 7727 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130319/422c18a7/attachment.obj>


More information about the petsc-dev mailing list