Beats the heck out of me, do whatever fixes you feel are needed. Barry On Jun 10, 2008, at 10:05 AM, Lisandro Dalcin wrote:
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