Andy Porter
Andy Porter
Hopefully I've explained things a bit more now. Let me know what you think @sergisiso.
I think so. The fact that PSyIR doesn't directly support the `optional` attribute can be tackled separately if anyone cares :-)
For OpenMP we automatically generate a list of private variables for each parallel region at code generation time. This works for a generated PSy layer because we know what the...
However, even that functionality requires (some) dependence/symbol information as we need to know which (if any) scalars are written to within a loop.
Related to this, Simon has reported: "The use of variables zalph2 and z1_alph2 in two horizontal loops of the ice_dyn_rhg_evp subroutine of the icedyn_rhg_evp module appears to prevent the parallelisation...
We now have the `OMPPrivateClause` node. This needs generalising so that we support OpenACC too.
I second myself - we need to be able to mark arrays as private variables. (Although sometimes we'd be better off increasing their rank by one and indexing into them...
Hit this in `vremap.f90` in NEMO when testing sea-ice branch.
I'm comfortable with having `validate` raise the error - I don't think it causes any confusion.
For using the same set of options repeatedly, we can (and do) just use the same `dict` object. If instead we use the options to set state in the transformation...