On Fri, Apr 29, 2016 at 10:00:43AM -0400, Nathan Sidwell wrote:
> Jakub,
> currently automatic loop partitioning assigns from the innermost loop
> outwards -- that was the simplest thing to implement.  A better algorithm is
> to assign the outermost loop to the outermost available axis, and then
> assign from the innermost loop outwards.   That way we (generally) get gang
> partitioning on the outermost loop.  Just inside that we'll get
> non-partitioned loops if the nest is too deep, and the two innermost nested
> loops will get worker and vector partitioning.
> 
> This patch has been on the gomp4 branch for a while.  ok for trunk?
> 
> nathan

> 2016-04-29  Nathan Sidwell  <nat...@codesourcery.com>
> 
>       gcc/
>       * omp-low.c (struct oacc_loop): Add 'inner' field.
>       (new_oacc_loop_raw): Initialize it to zero.
>       (oacc_loop_fixed_partitions): Initialize it.
>       (oacc_loop_auto_partitions): Partition outermost loop to outermost
>       available partitioning.
> 
>       gcc/testsuite/
>       * c-c++-common/goacc/loop-auto-1.c: Adjust expected warnings.
> 
>       libgomp/
>       * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
>       expected partitioning.

Ok.

        Jakub

Reply via email to