[petsc-dev] Weird interaction between VecDuplicate and VecSetBlockSize
Barry Smith
bsmith at mcs.anl.gov
Sat Mar 31 19:03:10 CDT 2012
On Mar 30, 2012, at 12:44 PM, Lisandro Dalcin wrote:
> On 30 March 2012 19:34, Barry Smith <bsmith at mcs.anl.gov> wrote:
>>
>> On Mar 30, 2012, at 11:07 AM, Lisandro Dalcin wrote:
>>
>>> On 30 March 2012 19:00, Lisandro Dalcin <dalcinl at gmail.com> wrote:
>>>> On 30 March 2012 18:20, Blaise Bourdin <bourdin at lsu.edu> wrote:
>>>>>
>>>>> On Mar 30, 2012, at 10:13 AM, Jed Brown wrote:
>>>>>
>>>>> The PetscLayout is shared. It should probably not be allowed to change block
>>>>> size after duplicating.
>>>>>
>>>
>>> Actually, reading my previous reply, I did not expressed it well. I DO
>>> AGREE with you that blocksizes should not be allowed to change once
>>> set for first time. However, I think PETSc do have some code around
>>> (in PC?) relying on this and unashamedly changing the bs of an INPUT
>>> vector! If that was fixed, then we can disable changing bs for Vec.
>>> But as long as we need to support this misfeature, at least let's try
>>> to do better around the lines of my patch (BTW, I'm not sure how to
>>> handle the blocked local to global mapping.... perhaps we can
>>> reconstruct another one?)
>>
>>
>> Let's locate all the code that changes the block size (after it is set) and eradicate it, then we won't need this bad patch.
>>
>
> I think I complained about this long, long ago:
>
> $ grep VecSetBlockSize -nR src/ksp/pc/
> src/ksp/pc/impls/fieldsplit/fieldsplit.c:637: ierr =
> VecSetBlockSize(x,jac->bs);CHKERRQ(ierr);
> src/ksp/pc/impls/fieldsplit/fieldsplit.c:638: ierr =
> VecSetBlockSize(y,jac->bs);CHKERRQ(ierr);
> src/ksp/pc/impls/fieldsplit/fieldsplit.c:710: ierr =
> VecSetBlockSize(x,jac->bs);CHKERRQ(ierr);
> src/ksp/pc/impls/fieldsplit/fieldsplit.c:711: ierr =
> VecSetBlockSize(y,jac->bs);CHKERRQ(ierr);
>
committed changeset 22837:cc05aac4b5fb Why does hg still print that meaningless number?
Removed setting of vector block sizes in PCFIELDSPLIT, if specific block sizes are needed and do not match the PC will \
error out with appropriate message
Barry
>
> --
> Lisandro Dalcin
> ---------------
> CIMEC (INTEC/CONICET-UNL)
> Predio CONICET-Santa Fe
> Colectora RN 168 Km 472, Paraje El Pozo
> 3000 Santa Fe, Argentina
> Tel: +54-342-4511594 (ext 1011)
> Tel/Fax: +54-342-4511169
More information about the petsc-dev
mailing list