On Mon, Sep 23, 2013 at 12:25 PM, Jed Brown <[email protected]> wrote:

> Barry Smith <[email protected]> writes:
> >    So we then freely change the thread offsets in the layout based on
> >    the matrix entries?
>
> I would prefer to only allow it before PetscLayoutSetUp.
>
> >    This means the Vec and Mat Layouts have to be same? This is true if
> >    the Vecs are obtained with MatGetVecs() after the matrix is created
> >    but not if the Vecs are created independently. Of for the MatMult
> >    do you just use the thread offsets from the Mat layout and ignore
> >    the Vec layout if it is different?
>
> If they are different, I would ignore the Vec layout.  (Favor load
> balance and NUMA distribution of the matrix over NUMA distribution of
> the Vec.)
>

I am not sold on this interface. The weight really belongs in the
partitioning engine, or whatever
gets fed to it. PetscLayout is the structure that is produced after the
fact. I don't think the weight
goes there.

   Matt

-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener

Reply via email to