[petsc-dev] Performance of Petsc + ViennaCL 1.5.1 (branch:petsc-dev/next)

Matthew Knepley knepley at gmail.com
Sat Feb 22 17:16:43 CST 2014


On Sat, Feb 22, 2014 at 3:05 PM, Mani Chandra <mc0710 at gmail.com> wrote:

> Hi Everyone,
>
> I tested the updated implementation of the viennacl bindings in
> petsc-dev/next and I get rather poor performance when using viennacl on
> either cpu or gpu. I am using the TS module (type:theta) with a simple
> advection equation in 2D with resolution 256x256 and 8 variables. I tested
> with the following cases:
>
> 1) Single cpu with petsc's old aij mat and vec implementation
> 2) Viennacl mat and vec and using VecViennaCLGetArrayRead/Write in the
> residual evaluation function on an intel cpu with intel's opencl.
> 3) Viennacl mat and vec and using VecViennaCLGetArrayRead/Write in the
> residual evaluation function on an nvidia gpu.
>
> The first case is the fastest and the other cases are 2-3 times slower.
> Attached are the log summaries for each cases and the code I used to test
> with. I am running using the following command:
>

At least one problem here is the excessive copying of Vecs to the card in
the GPU timings. After this, the MatMult() is getting
abysmal performance.

Karl, something is certainly wrong with the matvec in this example, and it
seems to be copying the matrix to the card.

   Matt


> time ./petsc_opencl -ts_monitor -snes_monitor -ts_dt 0.01 -ts_max_steps 10
> -ts_type theta -log_summary
>
> Cheers,
> Mani
>



-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20140222/e7a0ecbc/attachment.html>


More information about the petsc-dev mailing list