On Sat, Jun 25, 2022 at 9:39 AM Barry Smith <[email protected]> wrote:
> > Does AMGX require sorted column indices? (Python indentation notation > below) > > If not > just use MatMPIAIJGetLocalMatMerge instead of MatMPIAIJGetLocalMat. > > Ugh, I worked on this this AM without rebasing over main and lost my work ... there are conflicts in amgx.cxx that I don't understand. amgx.cxx should not even be in main so I am puzzled. Anyway, I added MatMPIAIJGetLocalMatMerge (and lost it), but I'm not sure how to resolve the new ordering of the data. MatMPIAIJGetLocalMatMerge returns an index set (IS) with the global columns of the diagonal block columns. I am thinking that we could simply clobber the first 'n' column indices in the MatMPIAIJGetLocalMatMerge output matrix with this IS. This would make it what Matt wants I think. (Maybe this clobber should go into MatMPIAIJGetLocalMatMerge? Maybe I am missing something...) I see: PetscCall(MatGetRowIJ(amgx->localA, 0, PETSC_FALSE, PETSC_FALSE, &amgx->nLocalRows, &rowOffsets, &colIndices, &done)); Maybe something like this needs to be called next to get AMGx the new indices?
