(j3.2006) (SC22WG5.5904) [ukfortran] 3 levels of parallelism?
N.M. Maclaren
nmm1
Thu Jul 6 09:06:28 EDT 2017
On Jul 6 2017, Clune, Thomas L. (GSFC-6101) wrote:
>
> As another extreme case, consider why we don't use OpenMP for large-scale
> parallelism. There is nothing (or at least very little) in the model that
> would preclude using it in a distributed context. But the lack of ability
> for the user to indicate memory-affinity and other such concerns means
> that the scaling is terrible in almost every nontrivial case.
Yes. Intel have just such an implementation, and so we have experience as
well as theoretical knowledge. OpenMP is a solidly shared-memory design,
and will run like a drain if that is only virtual. Merely indicating things
like memory affinity isn't enough, either, because of the number of ways in
which OpenMP relies on data being shareable, at least some of the time.
> PS Nothing in this message was meant to disparage compiler developers in
> any way. They have the task of optimizing _all_ codes and appeasing (to
> varying degrees) all customers. I have no reason to suspect they have
> done anything other than a superlative job given the daunting difficulty
> of the task.
Right. This is why the solution is in the languages, and draconian
restrictions on things like aliasing are essential - which is also why
Fortran still rules in this area :-)
Regards,
Nick Maclaren.
More information about the J3
mailing list