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

Feature/cuda reduce #1064

Draft
wants to merge 34 commits into
base: main
Choose a base branch
from
Draft

Feature/cuda reduce #1064

wants to merge 34 commits into from

Conversation

ZelboK
Copy link

@ZelboK ZelboK commented Sep 4, 2023

No description provided.

@copy-pr-bot
Copy link

copy-pr-bot bot commented Sep 4, 2023

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@ZelboK ZelboK closed this Sep 4, 2023
@ZelboK ZelboK reopened this Sep 4, 2023
@ZelboK ZelboK marked this pull request as draft September 4, 2023 00:13

// this is basically the apply function that sender_apply is looking for.
template <class S, class Fn>
auto plscompile(S s, Fn f) {
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be renamed to apply. I was conducting an experiment.

auto transformed = reduce_sender_t<decltype(sender), decltype(initT), decltype(fun)>(
{}, sender, initT, fun);
return transformed;
};
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some thoughts:

  1. Does the fact that hte compiler no longer complains about hte errors related to __on::receiver_ref not having a call operator thus indicate that the tree has been fully transformed, children and alike? I was going off of this assumption.

transform_sender will rely on this specialization of reconstitute for every sender alongside their children. Now one caveat is... Am I not transforming the entire tree? If that's the case, wouldn't there be an error similar to the 1st point? The fact htat it's looking for an apply function, does that not indicate it has transformed the tree properly?

(Sender&&) sndr,
[&]<class Tag, class Data, class... Children>(Tag, Data&& data, Children... children) {
if constexpr (sizeof...(Children) == 0) {
return sndr;
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe I shouldn't return sndr.

@ericniebler
Copy link
Collaborator

/ok to test

@ericniebler ericniebler force-pushed the feature/cuda_reduce branch 2 times, most recently from c16e048 to d97b5df Compare October 11, 2023 01:17
@trxcllnt
Copy link
Member

trxcllnt commented Jan 9, 2024

/ok to test

@trxcllnt
Copy link
Member

trxcllnt commented Jan 9, 2024

/ok to test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants