some fixes for AIJ and BAIJ matrices
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
participants (1)
-
Lisandro Dalcin