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 at gmail.com> 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
