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