<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div dir="ltr">Hi Brian,
<div><br>
</div>
<div>Your message to petsc-dev has prompted some ongoing discussion among the core PETSc developers, and we'll hopefully be able to give you an outline of a coherent plan to help you meet your ECP milestones soon.</div>
<div><br>
</div>
<div>We have had adding GPU support within PETSc's GAMG preconditioner on our list of goals for some time, but we didn't manage to get this into the recent 3.10 release. We can bump up the priority of this, and, as Jed has said, we should be able to provide
 AMG setup on the CPU and the solves on the CPU in relatively short order, and we can see how much this can help in the near term. Doing the setup on the GPU is much more involved, but is something that we are interested in doing.</div>
<div><br>
</div>
<div>Just wanted to let you know that your query has not gone unnoticed. Expect a more detailed reply from us soon.</div>
<div><br>
</div>
<div>Best regards,</div>
<div>Richard</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Wed, Sep 19, 2018 at 11:43 AM Jed Brown <<a href="mailto:jed@jedbrown.org">jed@jedbrown.org</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Brian, how frequently do you need to update the matrix (thus rebuild the<br>
preconditioner)?<br>
<br>
If it is infrequent, we could (in the near term) provide AMG setup on<br>
CPU with solves on GPU.<br>
<br>
What is your typical problem size per node to be run on Summit?  What is<br>
your MPI/OpenMP(?) decomposition?<br>
<br>
Are these heterogeneous Poisson solves or are the equations to be solved<br>
implicitly more complicated?  Do you have experimental information about<br>
relative convergence rates/grid complexity/strong scalability for your<br>
operator solved using classical AMG (e.g., Hypre) versus smoothed (or<br>
plain) aggregation (ML, GAMG default)?<br>
<br>
Brian Van Straalen <<a href="mailto:bvstraalen@lbl.gov" target="_blank">bvstraalen@lbl.gov</a>> writes:<br>
<br>
> So Baky and I have been at the Brookhaven GPU Hackathon now for three days,<br>
> talking to everyone.  We have also been emailing with people who will<br>
> respond to us from the hypre team and the PETSc team, as well as reading<br>
> every blog post and mail archive and message board and from what we can<br>
> tell, a distributed AMG preconditioner will not be available for us on a<br>
> Summit platform for the foreseeable future.<br>
><br>
> There is a hypre build for CUDA, but it has a problem with it's use of<br>
> CUSP, and nobody seems to be working on it.<br>
><br>
> PETSc has some .cu cuda files for the SpMV and Vector operations but the<br>
> preconditioners are limited to point Jacobi and similar simple operations<br>
> and a version of ILU.  Neither works for our stiff projection in the<br>
> embedded boundary algorithms.   We built it and ran it and PETSc takes<br>
> several hundred iterations to get the residual down by a factor of 6.  We<br>
> need to get down to more like 10e-11 for this solve.<br>
><br>
> The AMG being worked on by the NVIDIA team is not targeted for multi-node<br>
> solving, and I haven't heard back from them in months.<br>
><br>
>   We are left with two options as I see it to meet our ECP Milestones:<br>
><br>
> 1. Build yet another interface, this time to see if there is a distributed<br>
> GPU AMG preconditioner in Trilinos<br>
><br>
>  2. Implement our own special-purpose EB-GMG solver written in Chombo.<br>
><br>
> I would love to be wrong about all this.<br>
><br>
> Brian<br>
><br>
> -- <br>
> Brian Van Straalen         Lawrence Berkeley Lab<br>
> <a href="mailto:BVStraalen@lbl.gov" target="_blank">BVStraalen@lbl.gov</a>        Computational Research<br>
> (510) 486-4976            Division (<a href="http://crd.lbl.gov" rel="noreferrer" target="_blank">crd.lbl.gov</a>)<br>
</blockquote>
</div>
</body>
</html>