Parallelizing fortran 2008 `do concurrent` systematically, possibly with openmp
===

The fortran 2008 `do concurrent` construct is a do loop that tells the compiler that no iteration affect any other. It can thus be parallelized safely.

A valid example:

    program main
      implicit none
      integer :: i
      integer, dimension(10) :: array
      do concurrent( i= 1: 10)
        array(i) = i
      end do
    end program main

where iterations can be done *in any order*. You can read more about it [here][1].

To my knowledge, gfortran does not automatically parallelize these `do concurrent` loops, while I remember a gfortran-diffusion-list mail about doing it ([here][2]). It justs transform them to classical `do` loops.

**My question**: Do you know a way to *systematically* parallelize `do concurrent` loops? For instance with a *systematic* openmp syntax?


  [1]: http://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CFcQFjAA&url=ftp://ftp.nag.co.uk/sc22wg5/N1701-N1750/N1729.pdf&ei=LScHUMCxCoio0QXo06jCDQ&usg=AFQjCNHsTHiC6wQOuEOBhc0BCLHbA2tVhA&sig2=oDMd622TdgwtwmFHYWja_g
  [2]: http://gcc.gnu.org/ml/gcc/2011-09/msg00016.html