MatGetSubMatrix question

Lisandro Dalcin dalcinl at
Tue May 26 18:30:29 CDT 2009

On Tue, May 26, 2009 at 7:03 PM, Barry Smith <bsmith at> wrote:
>   I think this change may make sense. The switch would be done by putting
> the ISAllGather() inside each current implementation. (The current
> implementations are already not scalable, so this will not change that).
>   Anybody want to try this change?

But then you are forcibly introducing a non-scalable ISAllGather() on
every call to MatGetSubMatrix(). No chance to factor-out this
operation if you need to get submatrices many times in the case
nonzero-patterns and submat-indices never changing.

> On May 25, 2009, at 8:20 AM, Jed Brown wrote:
>> Is it really necessary that iscol be a sequential index set that covers
>> all columns, with csize selecting the local columns?  I realize this
>> might be natural/easy for AIJ formats, but it feels clumsy (not to
>> mention not scalable due to the ISAllGather).
>> I'm guessing this is a relic from when IS was not a real parallel
>> object.  Am I missing some deep reason for this interface, or could
>> iscol be parallel and csize be dropped?
>> Jed

Lisandro Dalcín
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594

More information about the petsc-dev mailing list