Paralelizar o fortran 2008 `fazer concorrente 'sistematicamente, possivelmente com o openmp

O fortran 2008do concurrent construct é um loop que informa ao compilador que nenhuma iteração afeta outra. Assim, ele pode ser paralelizado com segurança.

Um exemplo válido:

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

onde as iterações podem ser feitasem qualquer ordem. Você pode ler mais sobre issoAqui.

Pelo que sei, o gfortran não paraleliza automaticamentedo concurrent loops, enquanto eu me lembro de um e-mail de lista difusão-gfortran sobre fazê-lo (Aqui). Ele acaba de transformá-los em clássicosdo rotações.

Minha pergunta: Você conhece uma maneira desistematicamente paralelizardo concurrent rotações? Por exemplo, com umsistemático sintaxe do openmp?

questionAnswers(2)

yourAnswerToTheQuestion