[petsc-users] support for mixed block size matrices/AIM in PETSc?

Mark Adams mfadams at lbl.gov
Mon Jul 24 13:44:39 CDT 2023


I interpreted Danial's question as referring to small block sizes for
multi-dof per point/vertex/cell in the mesh, like Satish, but please
clarify.

With that assumption, as you know PETSc does not support explicit variable
block sizes, like ML does for instance, but the conventional wisdom has
been that inodes do a pretty good job of exploiting block structure for
performance as Satish mentioned.

It would be great to get some data from modern processors to quantify this.
If your solver is in fact memory bandwidth bound, as it should be, then if
you test a problem with constant block size >= 3 you should see the solver
takes almost 50% longer if you turn inodes off. This test would give some
sense of how well inodes are working for you.

Mark

On Mon, Jul 24, 2023 at 9:43 AM Matthew Knepley <knepley at gmail.com> wrote:

> On Mon, Jul 24, 2023 at 6:34 AM Daniel Stone <daniel.stone at opengosim.com>
> wrote:
>
>> Hello PETSc Users/Developers,
>>
>> A collegue of mine is looking into implementing an adaptive implicit
>> method (AIM) over
>> PETSc in our simulator. This has led to some interesting questions about
>> what can
>> be done with blocked matrices, which I'm not able to answer myself - does
>> anyone have
>> any insight?
>>
>> Apparently it would be ideal if we could find a matrix (and vector) type
>> that supports a kind
>> of mixed block size:
>>
>> "For AIM [...] we will have matrix elements of various shapes: 1x1, 1xN,
>> Nx1 and NxN. [...]. The solution and residual will be a mix of 1 and N
>> variable/cell block"
>>
>
> This is not the terminology we would use, since "blocksize" is usually
> understood as something small
> that is used for vectorization and indexing. These are large, O(N), and
> require different implementation.
> To build matrices out of these parts, you can use
>
>   1) MatNest: Very small blocks are not ideal here, so
>
>   2) MatLRC: This is for low-rank corrections, which is where small
> matrices tend to arise
>
> Does this make sense?
>
>   Thanks,
>
>     Matt
>
>
>> There are ideas for how to implement what we want using the
>> fixed-block-size objects we
>> understand well, but if anything like the above exists it would be very
>> exciting.
>>
>>
>> Thanks,
>>
>> Daniel
>>
>
>
> --
> 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-users/attachments/20230724/4c22fdd9/attachment.html>


More information about the petsc-users mailing list