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 |
| 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.
@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.
| #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.
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