[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