Thanks a lot Pierre!
I managed to solve my problem for now using the (less scalable) solution that
you provided. I also opened up an issue about the missing
MatMPIAIJGetLocalMat() petsc4py binding here
https://gitlab.com/petsc/petsc/-/issues/1443 and if no action is taken, I might
take care
> On 23 Aug 2023, at 8:59 PM, Thanasis Boutsikakis
> wrote:
>
> Thanks for the clarification Mark.
>
> I have tried such an implementation but I since I could not find the
> equivalent of https://petsc.org/main/manualpages/Mat/MatMPIAIJGetLocalMat/
> for petsc4py, I used
Thanks for the clarification Mark.
I have tried such an implementation but I since I could not find the equivalent
of https://petsc.org/main/manualpages/Mat/MatMPIAIJGetLocalMat/ for petsc4py, I
used A.getLocalSubMatrix to do so, which returns a ‘localref’ object that I
cannot then use to get
On Wed, Aug 23, 2023 at 5:36 AM Thanasis Boutsikakis <
thanasis.boutsika...@corintis.com> wrote:
> Thanks for the suggestion Pierre.
>
> Yes B is duplicated by all processes.
>
> In this case, should B be created as a sequential sparse matrix using
> COMM_SELF?
>
Yes, that is what Pierre said,
Thanks for the suggestion Pierre.
Yes B is duplicated by all processes.
In this case, should B be created as a sequential sparse matrix using
COMM_SELF? I guess if not, the multiplication of B with the output of
https://petsc.org/main/manualpages/Mat/MatMPIAIJGetLocalMat/ would not go
> On 23 Aug 2023, at 5:35 PM, Thanasis Boutsikakis
> wrote:
> Hi all,
>
> I am trying to multiply two Petsc matrices as C = A * B, where A is a tall
> matrix and B is a relatively small matrix.
>
> I have taken the decision to create A as (row-)partitioned matrix and B as a
>
Hi all,
I am trying to multiply two Petsc matrices as C = A * B, where A is a tall
matrix and B is a relatively small matrix.
I have taken the decision to create A as (row-)partitioned matrix and B as a
non-partitioned matrix that it is entirely shared by all procs (to avoid
unnecessary