[petsc-dev] MatMPIAIJGetLocalMat problem with GPUs

Mark Adams mfadams at lbl.gov
Sun Jun 26 09:16:03 CDT 2022

On Sat, Jun 25, 2022 at 9:39 AM Barry Smith <bsmith at petsc.dev> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20220626/412012ea/attachment.html>

More information about the petsc-dev mailing list