[petsc-dev] Why no SpGEMM support in AIJCUSPARSE and AIJVIENNACL?

Mark Adams mfadams at lbl.gov
Wed Oct 2 19:13:29 CDT 2019


FWIW, I've heard that CUSPARSE is going to provide integer matrix-matrix
products for indexing applications, and that it should be easy to extend
that to double, etc.

On Wed, Oct 2, 2019 at 6:00 PM Mills, Richard Tran via petsc-dev <
petsc-dev at mcs.anl.gov> wrote:

> Fellow PETSc developers,
>
> I am wondering why the AIJCUSPARSE and AIJVIENNACL matrix types do not
> support the sparse matrix-matrix multiplication (SpGEMM, or MatMatMult() in
> PETSc parlance) routines provided by cuSPARSE and ViennaCL, respectively.
> Is there a good reason that I shouldn't add those? My guess is that support
> was not added because SpGEMM is hard to do well on a GPU compared to many
> CPUs (it is hard to compete with, say, Intel Xeon CPUs with their huge
> caches) and it has been the case that one would generally be better off
> doing these operations on the CPU. Since the trend at the big
> supercomputing centers seems to be to put more and more of the
> computational power into GPUs, I'm thinking that I should add the option to
> use the GPU library routines for SpGEMM, though. Is there some good reason
> to *not* do this that I am not aware of? (Maybe the CPUs are better for
> this even on a machine like Summit, but I think we're at the point that we
> should at least be able to experimentally verify this.)
>
> --Richard
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20191002/d7e5b969/attachment.html>


More information about the petsc-dev mailing list