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
Add non-commutative reduction #774
Comments
How about |
This paper about |
As I'm looking into this from the cub side, maybe also a few thoughts:
|
See https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2214r0.html#rangesreduce for a discussion of naming between I think the precedent is clear for Granted, all the of discussion in p2214 and p2322 are around a sequential implementation of I'll defer to @codereport @ericniebler and others on the appropriate naming for a non-commutative, parallel reduce/fold. |
I like the idea of
It isn't like C++ has a very cohesive naming story when it comes to reductions. |
Compare to Compare to |
Just to give the reasoning behind my suggestion, I agree with most of the arguments here: |
I don’t really know how the (parallel) reduce algorithm implements its partial results / reordering, and that doesn’t seem important to explain in the name. Knowing the mathematical concept of commutativity is already a prerequisite for understanding the appropriate application of
|
@elbeno I know you don't work at NVIDIA but I know you have wanted this algorithm for a while and might have some thoughts on the name 🙂 |
I just discovered that Futhark actually has both of the reductions. They are called:
|
We're missing a very useful form of reduction algorithm:
The text was updated successfully, but these errors were encountered: