PSyclone icon indicating copy to clipboard operation
PSyclone copied to clipboard

[PSyIR] Add support for reduction clauses on parallel directives

Open hiker opened this issue 6 years ago • 4 comments

This extends #512. Reductions and 'omp parallel do' are not needed for my ROMS work, but it would complete the omp directive support in PSyIR, so I opened a separate issue for this.

hiker avatar Sep 19 '19 09:09 hiker

At some point since this was opened, we have added support for OMPParallelDoDirective. However, support for reductions is still required. @jwallwork23 says:

In the latest version of our PSyclone-driven OpenACC GPU port, reduction loops get loop seq. Performance is improved significantly if these are manually edited to instead use loop independent reduction(...). Would it be possible to support reduction clauses in PSyclone?

arporter avatar Dec 13 '23 11:12 arporter

Alan Hewitt at the Met Office seems to have taken up the UKCA torch and is also asking about OpenACC reductions. Could be a good one for @hiker or @LonelyCat124 to take on perhaps?

arporter avatar Mar 01 '24 11:03 arporter

Could be a duplicate of #1812 and #2446?

arporter avatar Jun 19 '24 10:06 arporter

I think not quite duplicate of #1812 is more an issue on how we declare reductions (as clause objects instead of strings which current reductions are).

This issue is in theory discussing OMPParallelDoDirectives (i think? Its not totally clear) vs #2446 focusing GPU directives - I think what we need for those directives is the same so its close enough to duplicate (though 2446 extends the behaviour to support atomics).

LonelyCat124 avatar Jun 19 '24 10:06 LonelyCat124