[petsc-dev] making DA more light weight

Barry Smith bsmith at mcs.anl.gov
Thu May 15 20:14:56 CDT 2014


On May 15, 2014, at 8:01 PM, Jed Brown <jed at jedbrown.org> wrote:

> Barry Smith <bsmith at mcs.anl.gov> writes:
> 
>> On May 15, 2014, at 5:42 PM, Jed Brown <jed at jedbrown.org> wrote:
>> 
>>> Barry Smith <bsmith at mcs.anl.gov> writes:
>>> 
>>>> I suggest the following:  
>>>> 
>>>>   ISLocalToGlobalCreate() takes a block size. 
>>>> 
>>>>   ISLocalToGlobalApply() will then do the integer arithmetic if bs > 1
>>>> 
>>>>   ISLocalToGlobalApplyBlock() will just use the given indices 
>>>> 
>>>>  Then Mat/VecSetLocalToGlobal() will only have one mapping and DMDACreate() will only create the block version 
>>> 
>>> That's what I meant in my other mail (rationalizing that integer
>>> division should not ruin performance; needs to be tested).
>> 
>>    Yes I know it is what you said, I was just laying out in more detail the API changes.
> 
> Perfect.
> 
>>> I think this
>>> is worthwhile and not hard, but it's small fish compared to VecScatter,
>>> which requires several times as much memory.  
>> 
>>    Not true
>> 
>>> See my other mail with
>>> full stack traces for each large allocation.
>> 
>>    See my other email where I explained that since you ran in the debugger on one process you got very different results then you would get on two processes.
> 
> Not true, it was a 2-process run.

  But with a dof that is not handled as a bs > 1 hence did not have the memory optimization.

   Barry





More information about the petsc-dev mailing list