[petsc-users] Questions about setting values for GPU based matrices

Fredrik Heffer Valdmanis fredva at ifi.uio.no
Fri Oct 28 05:24:17 CDT 2011


I am working on integrating the new GPU based vectors and matrices into
FEniCS. Now, I'm looking at the possibility for getting some speedup during
finite element assembly, specifically when inserting the local element
matrix into the global element matrix. In that regard, I have a few
questions I hope you can help me out with:

- When calling MatSetValues with a MATSEQAIJCUSP matrix as parameter, what
exactly is it that happens? As far as I can see, MatSetValues is not
implemented for GPU based matrices, neither is the mat->ops->setvalues set
to point at any function for this Mat type.

- Is it such that matrices are assembled in their entirety on the CPU, and
then copied over to the GPU (after calling MatAssemblyBegin)? Or are values
copied over to the GPU each time you call MatSetValues?

- Can we expect to see any speedup from using MatSetValuesBatch over
MatSetValues, or is the batch version simply a utility function? This
question goes for both CPU- and GPU-based matrices.


Fredrik V
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111028/cb448276/attachment.htm>

More information about the petsc-users mailing list