-
Notifications
You must be signed in to change notification settings - Fork 907
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
Move cudf::test::make_counting_transform_iterator
to cudf/detail/iterator.cuh
#7306
Conversation
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.
Assuming this passes CI, it looks good to me.
Clang has always complained about the conditional #ifdef __CUDACC__
blocks in bit.hpp
, but I assume fixing that is out of scope for this PR.
@@ -592,6 +593,7 @@ class alignas(16) mutable_column_device_view : public detail::column_device_view | |||
return d_children[child_index]; | |||
} | |||
|
|||
#ifdef __CUDACC__ // because set_bit in bit.hpp is wrapped with __CUDACC__ |
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.
These are necessary even though this is a .cuh
file?
I thought .cuh
files could only be included by .cu
files, compiled by nvcc
, so __CUDACC__
would always be defined?
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.
My understanding is that is the guideline as well. However, this is overwhelming not followed (which I discovered from workin on this PR). For instance, column_wrapper.hpp
where the make_counting_transform_iterator
function used to be, has a .hpp, and the majority of the test files that used it were also .hpp.
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.
So you're saying column_wrapper.hpp
or other .cpp
/.hpp
files are now doing this?
#include <cudf/detail/iterator.cuh>
That seems like a problem.
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.
I agree, but sort of out of scope of this PR. Although ... I just did
cat $(find . | grep "p$") | grep thrust | wc -l
in both cpp/src
and cpp/include
and the total was 53. However, upon brief review ... most of the references were to thrust::host_vector
or thrust::make_**_iterator` so maybe those aren't consider "device" code?
Just did the same grep
on cpp/tests
and got 533 😮
cat $(find . | grep "p$") | grep __device__ | wc -l
yields 27 across src
include
and tests
.
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.
@trxcllnt I will set up a issue / PR to rename filenames / look into this.
Codecov Report
@@ Coverage Diff @@
## branch-0.19 #7306 +/- ##
==============================================
Coverage ? 81.80%
==============================================
Files ? 100
Lines ? 16606
Branches ? 0
==============================================
Hits ? 13584
Misses ? 3022
Partials ? 0 Continue to review full report at Codecov.
|
cudf::test::make_counting_transform_iterator
to cudf/detail/iterator.cuh
cudf::test::make_counting_transform_iterator
to cudf/detail/iterator.cuh
[skip ci]
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.
LGTM
cudf::test::make_counting_transform_iterator
to cudf/detail/iterator.cuh
[skip ci]cudf::test::make_counting_transform_iterator
to cudf/detail/iterator.cuh
rerun tests |
rerun tests |
@gpucibot merge |
) Doing some cleanup - using `make_counting_transform_iterator` and `make_transform_iterator` to clean up `for` loops and other code. Making an argument that `make_counting_transform_iterator` should be moved out of `cudf::test::`. Also, will clean up the `f`/`begin` and `op` naming conventions. Depends on: #7306 Authors: - Conor Hoekstra (@codereport) Approvers: - David (@davidwendt) - Jake Hemstad (@jrhemstad) - Mark Harris (@harrism) URL: #6546
Update location of `make_counting_transform_iterator` after rapidsai/cudf#7306. Authors: - Paul Taylor (@trxcllnt) Approvers: - H. Thomson Comer (@thomcom) URL: #353
😭 😭 😭
Oh how fragile cuDF is. Ran into so many issues.
This was split out of #6546 because of how complicated it was.
95% was just:
The other 5% was:
column_device_view.cuh