MatMult with nonconforming error
Barry Smith
bsmith at mcs.anl.gov
Mon Nov 16 12:00:31 CST 2009
On Nov 16, 2009, at 11:00 AM, Lisandro Dalcin wrote:
> On Mon, Nov 16, 2009 at 2:35 PM, Barry Smith <bsmith at mcs.anl.gov>
> wrote:
>>
>> With y = A x the row partition of A MUST match the row partition
>> of y and
>> the column partition of A MUST match the row partition of x.
>>
>> There is no avoiding this,
>>
>
> But it can be workaround-ed using a VecScatter, right?
Well since PETSc is just a library of routines one can do anything
they want with it. So yes, one could include a VecScatter to get
things into the right shape, but it would be a bit cumbersome.
Barry
>
>>
>> On Nov 16, 2009, at 10:08 AM, SUN Chun wrote:
>>
>>> Hi,
>>>
>>> I was trying to do MatMult with a non-square matrix and a vector.
>>> They
>>> have different local dimensions.
>>>
>>> For this particular case, my Mat is 12x48, my Vec is 48x1.When I
>>> run in
>>> parallel with 2 cores, I have Mat partitioned by row in 12+0, and
>>> I have Vec
>>> partitioned by row in 18+30. When I perform MatMult, I get:
>>>
>>> [0]PETSC ERROR: --------------------- Error Message
>>> ------------------------------------
>>> [0]PETSC ERROR: Nonconforming object sizes!
>>> [0]PETSC ERROR: Incompatible partition of A (24) and xx (18)!
>>> [0]PETSC ERROR:
>>> ------------------------------------------------------------------------
>>>
>>> Is it required to partition Vec and Mat such that my Vec's row
>>> partition
>>> agrees my Mat's column partition? If so, is there any way to get
>>> around
>>> this?
>>>
>>> Thanks,
>>> Chun
>>
>>
>
>
>
> --
> 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-users
mailing list