MatGetSubMatrix question

Barry Smith bsmith at mcs.anl.gov
Tue May 26 20:08:14 CDT 2009


On May 26, 2009, at 6:30 PM, Lisandro Dalcin wrote:

> On Tue, May 26, 2009 at 7:03 PM, Barry Smith <bsmith at mcs.anl.gov>  
> 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.

    Hmm, we could stash the isallgathered version inside the submatrix  
and then use a "state" value in the IS passed in to
determine if the is was changed and if not simply reuse the stashed  
isallgathered version.

    Barry

>
>
>
>>
>> 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