[petsc-dev] MATCOMPOSITE as fallback for matrix-matrix multiplication

Matthew Knepley knepley at gmail.com
Sat Mar 9 18:44:06 CST 2019

On Sat, Mar 9, 2019 at 4:42 PM Isaac, Tobin G via petsc-dev <
petsc-dev at mcs.anl.gov> wrote:

> Let's say I want to do Newton-Krylov on some DAG of computations.
> Building the Jacobian is programmatic from the chain rule, requiring
> just a lot of matrix-matrix multiplications in the correct sequence.
> If it really is more efficient for two Jacobians to be contracted into
> a matrix with random access, that's great, but if it's not, or if
> the appropriate implementation of MatMatMult_X_Y does not exist,
> having a MATCOMPOSITE is better than nothing.
> So why not make MATCOMPOSITE something that our matrix-matrix
> multiplication routines return when a specialization isn't found?
> It moves the "Not Implemented" warning from MatMatMult() to
> whenever I try to do something other than multiply with the output,
> but in some situations that's desirable.
> I'd be interested to hear what people think.

I think this is a good idea. The most important thing is to maintain
transparency, so that the output
makes this clear in -ksp_view and we are easily able to see what someone
has produced.


> Thanks,
>   Toby

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

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20190309/126947ea/attachment.html>

More information about the petsc-dev mailing list