Duplicating MATSeqAIJ matrix to other PEs

Barry Smith bsmith at mcs.anl.gov
Tue May 5 16:06:30 CDT 2009

    We don't have such a beasty. The simpliest thing is to have  
process 0 broadcast the i,j, and a arrays of Mat_SeqAIJ to all  
processes then use MatCreateMPIAIJWithArrays()
on all processes except zero. Finally change the free_a and free_ij  
fields of the newly created SeqAIJ matrices to PETSC_TRUE so that the  
matrix will free the space
when it is destroyed. Note you will need to include src/mat/impls/aij/ 
seq/aij.h into the source file to access the entries in the Mat_SeqAIJ  
data structure.


On May 5, 2009, at 1:20 PM, Keita Teranishi wrote:

> Hi,
> I have been trying to copy a MatSeqAIJ matrix on PE0 to the rest of  
> the PEs so that every PE has the exactly the same matrix.  What is  
> the best way to do that?
> Thanks in advance,
> ================================
>  Keita Teranishi
>  Scientific Library Group
>  Cray, Inc.
>  keita at cray.com
> ================================

More information about the petsc-users mailing list