-
Notifications
You must be signed in to change notification settings - Fork 915
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
Replace usages of thrust::optional
with std::optional
#15091
Replace usages of thrust::optional
with std::optional
#15091
Conversation
eadda39
to
6544074
Compare
@miscco could you revert the changes to the three |
@wence- Done |
I discussed with @miscco and we decided:
|
a0249e1
to
d3bee47
Compare
Is there any reason that this didn't get merged? Should we get this updated and pushed through? Apologies if it simply fell through the cracks. |
I believe we decided to push this back until rapids moves to cccl 2.3 |
Got it, thanks! We'll revisit once #15327 is addressed then. |
/ok to test |
@miscco Looks like there are legitimate test failures:
|
OK, we have a few runs now here showing the same error. It's a single Python test that's failing in both wheel and conda CI in the same way, and it's happened after merging in the latest a few times, so I'm guessing it's not a fluke. It's a test of the I'll try one last merge of the latest 24.10 to get one more data point, just to be sure. |
Yeah sorry about that, I do not have capacity to investigate this currently |
No problem. I pushed on this a little since the original blocker was resolved and I was hoping to help you wrap it up, but since there is more actual work to be done we can put a pin in it for the moment. Not urgent. |
I was able to recreate this with CUDA 11.8. The
The above shows there are very different results when calling
So there is some subtle difference between |
Thanks for the analysis @davidwendt. Should we consider merging all the changes except those in |
I have a hard time believing there is an issue with |
@@ -278,7 +278,7 @@ struct expression_evaluator { | |||
detail::device_data_reference const& input_reference, | |||
IntermediateDataType<has_nulls>* thread_intermediate_storage, | |||
cudf::size_type left_row_index, | |||
thrust::optional<cudf::size_type> right_row_index = {}) const | |||
cuda::std::optional<cudf::size_type> right_row_index = {}) const |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bdice Do you think we could remove the optional
here? There is a comment below that says in some cases right_row_index
is ignored. I think just making this default to {}
is enough to make this parameter optional without making it a formal cuda::std::optional
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Exploring this in #16604.
#include <thrust/binary_search.h> | ||
#include <thrust/gather.h> | ||
#include <thrust/host_vector.h> | ||
#include <thrust/optional.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this include is not needed and so can be removed instead of replaced.
Since @miscco said he doesn't have bandwidth to finish this PR right now, I am planning to push some changes (reverting changes in AST code paths) that will let us complete this. I will address @davidwendt's feedback to remove the use of an |
@davidwendt Tests are passing for me locally as of 0418c91. I opened #16604 to explore the possibility of removing an optional from the AST code paths. I will also use that PR to investigate whether changing to |
Sounds good. I did this as part of my investigation. Removing the optional right-row-index had no effect on the AST failure/success on my local machine. |
Thanks both of you! I appreciate you taking point on getting this PR finished. |
@davidwendt Could you review again? Or can I dismiss your request for changes? I think this will be ready to go once we rerun the Java CI (it failed, but there are other GPU jobs running so I'll retrigger CI later). |
/merge |
Thanks @miscco and reviewers! |
This PR follows up on a request from @davidwendt in #15091 (comment). Authors: - Bradley Dice (https://github.com/bdice) Approvers: - Vyas Ramasubramani (https://github.com/vyasr) - David Wendt (https://github.com/davidwendt) URL: #16604
We want to get rid of thrust types in API boundaries so replace them by the better suited std types