[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: leave my rows alone
On Wed, 16 Aug 2006, Thomas Geenen wrote:
> On Wednesday 16 August 2006 18:21, Matthew Knepley wrote:
> > On 8/16/06, Thomas Geenen <geenen@xxxxxxxxx> wrote:
> > > dear petsc users,
> > >
> > > is there a way to prevent Petsc during the assembly phase from
> > > redistributing matrix rows over cpu's ?? i like the way the rows are
> > > assigned to the cpu's during the setvalues phase.
> >
> > Actually, the layout of a matrix is fully determined after MatSetSizes(),
> > or equivalently MatCreate***(). We do not redistribute at assembly.
> >
> > setValues() will take values for any row, and send it to the correct-
> > process. The
> send it to the correct process sounds a lot like redistributing but
> that's probably a matter of semantics
No its not redistribution. When you create the matrix - the ownership
of a given row is determined. [it doesn't change]
If row 10 belongs to proc 2 [determined with MatSetSizes()] , but you
invoke MatSetValues(row=10) on proc 5, clearly this value has to be
communicated to proc2. This happens in MatAssembly***().
Satish