[petsc-users] Domain partitioning using DAs

Ethan Coon ecoon at lanl.gov
Tue Oct 11 11:19:45 CDT 2011



On Sat, 2011-10-08 at 08:32 -0500, Jed Brown wrote:

> 
> I'm a little surprised it doesn't find the "best" split in this simple
> case.


I swore at this for a while as well back when I implemented the
"degenerate" 3D case of P=1.  It actually does quite poorly for a few
common sizes (8, for example) when there is one "small" dimension that
is not the Y-direction.  (If the Y-direction is the small one, it does
fine as n is calculated first, see line 273 in da3.c.)  For instance, if
M=N=256, P=1, and size <= 16, it ends up with (1,size,1) for the
decomposition.  

I think it's worth reorganizing that calculation to pick p first, since
it would do so much better for when m=n=p=PETSC_DECIDE and P << (M,N),
which seems to be a much more common case.  It wouldn't help in
Mohamad's case, but if he chose to use, say, 4 processors, he'd find
that his Y-direction would get split in 4 instead of splitting both X
and Y in 2.  

Ethan




-- 
------------------------------------
Ethan Coon
Post-Doctoral Researcher
Applied Mathematics - T-5
Los Alamos National Laboratory
505-665-8289

http://www.ldeo.columbia.edu/~ecoon/
------------------------------------



More information about the petsc-users mailing list