Could you give some more information about your preconditioner? Sequential extraction of many small submatrices is not high performance, but perhaps we can restructure.
[email protected] writes: > > > Dear PETSc developers, > I have a matrix of the type MATMPIAIJ from which I want to extract small > sub-matrices and sub-vectors (number of rows from 1 to 50 maximum) > several times. This is a very fundamental step of a preconditioner that > I'm writing. After that, I want to solve these sub-systems locally. > > In my current implementation I use MatGetSubMatrices with > MAT_INITIAL_MATRIX to extract the sub-matrices and MatGetRow plus some > other artifacts to extract the sub-vectors. However, I see that this > procedure is too costly, once it creates and destroys the output > variables each time they are called. I thought about using the MAT_REUSE > flag, but I can't since the nonzero pattern of the local sub-matrix may > change from call to call. > > Can you give me some hint on how to do this task efficiently? I > appreciate your help! > > -- > > Victor A. P. Magri - PhD student > Dept. of Civil, Environmental and Architectural Eng. > University of Padova > Via Marzolo, 9 - 35131 Padova, Italy
signature.asc
Description: PGP signature
