[J3] Questions about DO CONCURRENT and locality

Ondřej Čertík ondrej at certik.us
Fri Jul 3 21:00:51 EDT 2020


Robert,

On Fri, Jul 3, 2020, at 6:23 PM, Robert Corbett via J3 wrote:
> I am not sure of the question here.
> If the question is "can all DO
> CONCURRENT loops be
> parallelized?", the answer is
> clearly "no". The Fortran 2008
> and 2018 standards specify that
> the iterations of a DO
> CONCURRENT loop can be
> executed in any order. They do
> not specify that the
> executions of the iterations of
> a DO CONCURRENT loop can
> be intermingled. Each iteration
> is executed to completion
> before the next iteration begins.

Thanks a lot for this excellent clarification.

Not being a native speaker, my understanding of the word concurrent is either "occurring at the same time" or "parallel", as I just looked up here:

https://www.merriam-webster.com/dictionary/concurrent

But according to the current interpretation of the standard, "do concurrent" doesn't specify concurrent execution. Is my understanding correct?

I would be in favor to change the standard to ensure "do concurrent" specifies concurrent execution. As expected by a lot of people as well as the meaning of the word.

Ondrej


More information about the J3 mailing list