<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <title></title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    In bjacobi.c, the following comments are given for PCCreate_BJacobi.<br>
    <br>
    Developer Notes: This preconditioner does not currently work with
    CUDA/CUSP for a couple of
    reasons.                                                                                                                                     
    <br>
    (1) It creates seq vectors as work vectors that should be
    cusp                                                                                                                                                                       
    <br>
    (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().      <br>
    <br>
    <br>
    I've had some success with comment (2) above in regards to
    Singleblock BJacobi. I haven't yet tried it for Multiblock or
    Multiproc.<br>
    <br>
    -Paul<br>
    <br>
    <blockquote
cite="mid:CAM9tzSnk8hgKg58+NKCTO2fcoDt+4Ad+towO8-5vjw9fU4v1Ww@mail.gmail.com"
      type="cite">
      <div class="gmail_quote">On Tue, Mar 13, 2012 at 10:18, Paul
        Mullowney <span dir="ltr">&lt;<a moz-do-not-send="true"
            href="mailto:paulm@txcorp.com">paulm@txcorp.com</a>&gt;</span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <div bgcolor="#ffffff" text="#000000">I don't think PCJACOBI
            is working on the GPU yet.<br>
          </div>
        </blockquote>
        <div><br>
        </div>
        <div>It damn well better be.</div>
        <div><br>
        </div>
        <div>(It only calls MatGetDiagonal(), everything else is just a
          Vec operation and the VecType will be set so that it runs on
          the GPU.)</div>
        <div> </div>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <div bgcolor="#ffffff" text="#000000"> <br>
            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.</div>
        </blockquote>
      </div>
      <br>
    </blockquote>
    <br>
  </body>
</html>