Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Combine reduction implementations for new and old interfaces #1709

Open
MrBurmark opened this issue Jul 30, 2024 · 1 comment
Open

Combine reduction implementations for new and old interfaces #1709

MrBurmark opened this issue Jul 30, 2024 · 1 comment
Labels

Comments

@MrBurmark
Copy link
Member

Currently we have a copy of the reduction implementation for the new and old interfaces for at least the GPU. We should be able to combine them into a single implementation. I had this in mind when I implemented the multi-reductions so I think we can probably do something similar and then use that to implement the new reduction interface as well.

@rhornung67 rhornung67 added the task label Aug 5, 2024
@rhornung67
Copy link
Member

We have both new reductions and "traditional" reductions available as tunings in RAJAPerf for CUDA and HIP variants. We have not done extensive performance comparisons, which we should do.

Also, consider how to best support users of back-ends for which we only want the new reduction interface to be used, such as SYCL and OpenMP target. For example:

  • OpenMP target reductions using the "traditional" interface are slow and do not yield correct results -- they have been turned off in CI testing and removed from RAJAPerf.
  • SYCL reductions using the "traditional" interface work except for loc reductions, which are turned off in CI testing. SYCL reductions using "traditional" interface have been removed from RAJAPerf.

@rhornung67 rhornung67 added this to the FY25 Development milestone Nov 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants