I just noticed unexpected behaviour of MatMult_SeqBAIJ_3 in PCBDDC code (on
branch stefano_zampini/pcbddc-baijfixes) with rectangular matrices having
number of rows >> number of cols and number of cols =2*blocksize. I guess
this problem will show up for other values of block sizes.

When some rows of the matrix are empty, the corresponding entry in the
resulting vector is not zero (as expected, mathematically speaking);
instead, the values are not overwritten at all. Is it the expected
behaviour?

Attached are two matrices . The one with sizes 186x6 shows the problem on
my laptop (ubuntu, gnu compilers,  --with-debugging, , CFLAGS -g -O0)

I'm not familiar with PETSc low-level implementation of BAIJ, so I cannot
dig anymore into the problem apart saying that:

A) if "converted" to SeqAIJ with a call

MatConvert(Mymat,MATSEQAIJ,MAT_REUSE_MATRIX,&Mymat)

the output of MatMult is always correct.

B) the problem disappear by increasing the number of columns (the matrix
with sizes 171x21 does not show the problem).


Hope you can reproduce the problem,
-- 

Ph. D. Stefano Zampini

CINECA
SuperComputing Applications and Innovations Department - SCAI
Via dei Tizii, 6 00185 Roma - ITALY
------------------------------------------------------------------------------------------------------------------------
Email: [email protected]
SkypeID: stefano.zampini
GoogleTalk: [email protected]
Tel: +39 06.44486.707
------------------------------------------------------------------------------------------------------------------------

Attachment: matseqbaij_171x21
Description: Binary data

Attachment: matseqbaij_171x21.info
Description: Binary data

Attachment: matseqbaij_186x6
Description: Binary data

Attachment: matseqbaij_186x6.info
Description: Binary data

Reply via email to