[petsc-users] [petsc-maint #107932] run a simple example ex19 in src/snes/examples/tutorials

Paul Mullowney paulm at txcorp.com
Tue Mar 13 10:38:08 CDT 2012


In bjacobi.c, the following comments are given for PCCreate_BJacobi.

Developer Notes: This preconditioner does not currently work with 
CUDA/CUSP for a couple of reasons.
(1) It creates seq vectors as work vectors that should be cusp
(2) The use of VecPlaceArray() is not handled properly by CUSP (that is 
it will not know where the ownership of the vector is so may use wrong 
values) even if it did know the ownership it may induce extra copy ups 
and downs. Satish suggests a VecTransplantArray() to handle two vectors 
sharing the same pointer and handling the CUSP side as well instead of 
VecGetArray()/VecPlaceArray().


I've had some success with comment (2) above in regards to Singleblock 
BJacobi. I haven't yet tried it for Multiblock or Multiproc.

-Paul

> On Tue, Mar 13, 2012 at 10:18, Paul Mullowney <paulm at txcorp.com 
> <mailto:paulm at txcorp.com>> wrote:
>
>     I don't think PCJACOBI is working on the GPU yet.
>
>
> It damn well better be.
>
> (It only calls MatGetDiagonal(), everything else is just a Vec 
> operation and the VecType will be set so that it runs on the GPU.)
>
>
>     I have some local fixes to make it work efficiently (without extra
>     copies), but changes won't be pushed too soon because the design
>     is not sufficiently general.
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120313/18634da0/attachment-0001.htm>


More information about the petsc-users mailing list