blocked index sets

Barry Smith bsmith at mcs.anl.gov
Wed Aug 27 13:59:39 CDT 2008


On Aug 27, 2008, at 1:16 PM, Matthew Knepley wrote:

> On Wed, Aug 27, 2008 at 1:08 PM, Barry Smith <bsmith at mcs.anl.gov>  
> wrote:
>>
>> On Aug 27, 2008, at 12:13 PM, Matthew Knepley wrote:
>>
>>> On Wed, Aug 27, 2008 at 12:06 PM, Lisandro Dalcin  
>>> <dalcinl at gmail.com>
>>> wrote:
>>>>
>>>> So, Do all us agree my proposed fix should be pushed? I'll wait for
>>>> Matt comments/complaints...
>>>
>>> I complain that IS is a fake parallel object.
>>
>> In what way is IS a fake parallel object? Maybe we can resolve
>> your concern about it being a fake parallel object.
>
> I said fake because it has a single collective operation (or even one
> with communication).
> We even use IS in situations where GetSize() makes no sense, or at  
> least are not
> careful about the comm used.

    Where are these cases? They should be fixed.

> Also, none of the other functions work
> over the comm.
> For instance, the ISIsPermutation() or ISSorted() do not look at the
> indices collectively.

    This is a legitimate complaint. It could be some of these things  
should be turned
off (generate errors) when used with parallel IS. Or maybe they need  
to be fixed
to work correctly with parallel IS.

    I note that all the ISCreatexx() routines make MPI collective  
calls, to me this clearly
cements them as parallel objects. One could argue that they should not  
have
collective calls and thus be only parallel. But in the current form  
they are parallel
(maybe crappy parallel) so we should either fix anything related to  
parallel that is
wrong or drop all the parallel stuff completely. I vote for fixing  
them up and making
them respectable parallel objects.






    Barry

>
>
>  Matt
>
>>  Barry
>>
>>
>>> However, if
>>> GetSize/GetLocalSize already
>>> do this, then yes we should change the ISBlock version as well.
>>>
>>> Matt
>>>
>>>> On Wed, Aug 27, 2008 at 1:13 PM, Barry Smith <bsmith at mcs.anl.gov>  
>>>> wrote:
>>>>>
>>>>> On Aug 27, 2008, at 10:23 AM, Matthew Knepley wrote:
>>>>>
>>>>>> There is no concept of global for IS. They are purely serial.  
>>>>>> AO is the
>>>>>> only
>>>>>> global construct with indices.
>>>>>
>>>>> This is kind of true, and maybe used to be completely true. But  
>>>>> IS does
>>>>> have a communicator and that communicator can be MPI_COMM_WORLD or
>>>>> any parallel communicator.  In other words the IS is evolving to  
>>>>> be an
>>>>> object
>>>>> that can be parallel in the same sense as vecs or mats
>>>>>
>>>>> There are already ISGetSize() and ISGetLocalSize() so it sure  
>>>>> makes
>>>>> sense
>>>>> to have the same paradgm for the ISGetBlockSize().
>>>>>
>>>>>
>>>>> Barry
>>>>>
>>>>> Originally IS had no parallel concept, then we added the
>>>>> ISGetSize/LocalSize
>>>>> but forgot to do it for the ISBlock...
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>> Matt
>>>>>>
>>>>>> On Wed, Aug 27, 2008 at 10:09 AM, Lisandro Dalcin <dalcinl at gmail.com 
>>>>>> >
>>>>>> wrote:
>>>>>>>
>>>>>>> I believe we have to review the interface of ISBlock. Currently,
>>>>>>> ISBlockGetSize() return the number of LOCAL block indices.  
>>>>>>> This is not
>>>>>>> consistent with other naming conventions for getting local and  
>>>>>>> glocal
>>>>>>> sizes. I propose to change this to the following
>>>>>>>
>>>>>>> 1) change: ISBlockGetSize() returns the number global blocks
>>>>>>> 2) addition:  ISBlockGetLocalSize() return the number of local  
>>>>>>> blocks
>>>>>>>
>>>>>>> Comments?
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> 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
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> 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
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> 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
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> 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
>>>
>>
>>
>
>
>
> -- 
> 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
>




More information about the petsc-dev mailing list