Some fixes are needed for BAIJ matrices are:

(1) MatMPIBAIJSetPreallocationCSR_MPIBAIJ   ->  BROKEN
(2) MatSeqBAIJSetPreallocationCSR_SeqBAIJ  ->  MISSING

Regarding (1), the fix needs to call PetscMapSetUp() for setting-up
the row and column maps (rmap&cmap fields) at the very begining,
before anything else. If this is not done, the stuff is the row/column
maps are not properly initialized at the point (1) is called. But
then, PetscMapSetUp() will be called again as (1) calls
MatMPIBAIJSetPreallocation_MPIBAIJ with nnz information. However, I
believe this is not an issue, as the second call will be a no-op (at
least for optimized builds). Additionally, there is a bug at the point
MatSetValuesBlocked_MPIBAIJ() is being called, as the block-size is
not being taking into accout for the 'values' array (when it is
provided).

Regarding (2), the issues in (1) for rmap/cmap are the same.

It is fine to push the fixes in release-2.3.3, particularly regarding
that (2) could be seen a 'new functionality'? I would prefer to add it
to release-2.3.3.

-------------------------

Finally, for MPIAIJ, something I'm not sure what to do is the following:

- for MatSeq[B]AIJ one can pass nz=MAT_SKIP_PREALLOCATION
- for MatMPI[B]AIJ, passing d_nz/o_nz=MAT_SKIP_PREALLOCATION generates
an error.

Should MatMPI[B]AIJ support MAT_SKIP_PREALLOCATION for d_nz/o_nz arguments?

Again, it is fine to push this to release-2.3.3 ?



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


Reply via email to