<div dir="ltr"><div>Dominic, I second a request for such a branch.<br><br></div>Thanks,<br>Ashwin<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 22, 2014 at 3:38 PM, Dominic Meiser <span dir="ltr"><<a href="mailto:dmeiser@txcorp.com" target="_blank">dmeiser@txcorp.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 09/22/2014 12:57 PM, Chung Shen wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Dear PETSc Users,<span class=""><br>
<br>
I am new to PETSc and trying to determine if GPU speedup is possible with the 3D Poisson solvers. I configured 2 copies of 'petsc-master' on a standalone machine, one with CUDA toolkit 5.0 and one without (both without MPI):<br>
Machine: HP Z820 Workstation, Redhat Enterprise Linux 5.0<br>
CPU: (x2) 8-core Xeon E5-2650 2.0GHz, 128GB Memory<br>
GPU: (x2) Tesla K20c (706MHz, 5.12GB Memory, Cuda Compatibility: 3.5, Driver: 313.09)<br>
<br>
I used 'src/ksp/ksp/examples/tests/<u></u>ex32.c' as a test and was getting about 20% speedup with GPU. Is this reasonable or did I miss something?<br>
<br></span><span class="">
Attached is a comparison chart with two sample logs. The y-axis is the elapsed time in seconds and the x-axis corresponds to the size of the problem. In particular, I wonder if the numbers of calls to 'VecCUSPCopyTo' and 'VecCUSPCopyFrom' shown in the GPU log are excessive?<br>
<br></span>
Thanks in advance for your reply.<br>
<br>
Best Regards,<br>
<br>
Chung Shen<br>
</blockquote>
A few comments:<br>
<br>
- To get reliable timing you should configure PETSc without debugging (i.e. --with-debugging=no)<br>
- The ILU preconditioning in your GPU benchmark is done on the CPU. The host-device data transfers are killing performance. Can you try to run with the additional option --pc_factor_mat_solver_packe cusparse? This will perform the preconditioning on the GPU.<br>
- If you're interested in running benchmarks in parallel you will need a few patches that are not yet in petsc/master. I can put together a branch that has the needed fixes.<br>
<br>
Cheers,<br>
Dominic<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
Dominic Meiser<br>
Tech-X Corporation<br>
5621 Arapahoe Avenue<br>
Boulder, CO 80303<br>
USA<br>
Telephone: <a href="tel:303-996-2036" value="+13039962036" target="_blank">303-996-2036</a><br>
Fax: <a href="tel:303-448-7756" value="+13034487756" target="_blank">303-448-7756</a><br>
<a href="http://www.txcorp.com" target="_blank">www.txcorp.com</a><br>
<br>
</font></span></blockquote></div><br></div>