-
Notifications
You must be signed in to change notification settings - Fork 170
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
Remove util_device.cuh
from iterator headers to enable online compilation
#412
Conversation
/ok to test |
Findings:
|
Can anyone help kick off CI to validate the changes? |
/ok to test |
Thanks, Michael, it seems the tests are green 🙂 |
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.
Minor nits
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.
Thank you for cleaning up the headers! It's much better now. A minor comment below.
/ok to test |
Description
Related to #403.
When using NVRTC (+Jitify) to compile these two headers
util_device.cuh
ended up being included by one of the CUB headers, and this functioncccl/cub/cub/util_device.cuh
Lines 185 to 192 in eea703e
Upon a closer look, I realized that by commenting out
DeviceCountCachedValue
, the structPerDeviceAttributeCache
, and everything depending on them (in the same file, so the radius of blast is small), I was able to make NVRTC happy. Basically, hiding all__host__
only functions and structs from NVRTC should suffice.@jrhemstad pointed out offline that this header doesn't seem to be used in
cache_modified_input_iterator.cuh
, and I checked locally that it's true for all iterator headers. Hence this patch.Checklist