[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