Dear PETSc folks, I have an emerging need to resolve the performance issue in building sparse matrix in PETSc.
I am are currently having some performance issues in building the sparse matrix in PETSc. I am trying to input the inverted matrix from ScaLAPACK into PETSc. This matrix is partitioned into series of submatrices with indices identified as block-cyclically distributed pattern. Here are the options I have tested in PETSc to build them into PETSc and their limitations: 1. MatSetValue(s)(...) is very easy to use. However, the assembling process is extremely slow and expensive; 2. MatSetValuesBlocked(..) can speed up the assembly. However, it is not well-fit for block-cyclically distributed matrices; and 3. MatCreateMPIAIJwithArrays(...) seems to be promising. However, it is not straightforward to use for block-cyclically distributed matrices. 4. Customizeing MatSetValuesBlocked(...) such that we can specify the indices for (*mat->ops->setvaluesblocked)(...). However, I have trouble to locate proper line for mat->ops->setvaluesblocked=&unknownFunctionName The question is what other options you have to resolve this performance issue? From your experience, do you guys have a worked example to build PETSc sparse matrix from block-cyclically distributed matrices obtained from ScaLAPACK with good performance? I appreciate your inputs on this issue. Thanks, Jinquan -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120808/cb995c79/attachment.html>
