On Fri, 17 Nov 2017, Janne Blomqvist wrote:

> On Fri, Nov 17, 2017 at 11:13 AM, Richard Biener <rguent...@suse.de> wrote:
> > This patch changes the Fortran frontend to annotate DO CONCURRENT
> > with parallel instead of ivdep.
> >
> > The patch is not enough to enable a runtime benefit because of
> > some autopar costing issues but for other cases it should enable
> > auto-parallelization of all DO CONCURRENT loops.
> >
> > Bootstrapped and tested on x86_64-unknown-linux-gnu, ok for the fortran
> > part?
> 
> I recall some years ago there was discussion whether DO CONCURRENT
> should be handled as "Ok to vectorize" or "Ok to parallelize using
> threads", and I believe back then it was decided to play it safe and
> just vectorize. Has this consensus changed now? And with this change,
> are we now using threads, or both vectors and threads? And is it
> enabled always, or only with -fopenmp, or some
> -ftree-loop-parallel-whatever? And if the second, how does it interact
> with openmp parallelization?

It is only parallelized with -ftree-loop-parallelize, OpenMP processing
comes first to I think it doesn't interfere here.  The loops are still
marked with ivdep as well and thus should enable vectorization.  The
usual caveats may apply when trying to vectorize outlined loops
(loops that have been parallelized).

Was the "play safe" for correctness concerns or for optimization
concern?

Richard.

Reply via email to