MatMult with nonconforming error

Lisandro Dalcin dalcinl at gmail.com
Mon Nov 16 11:00:28 CST 2009


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?

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