-
Notifications
You must be signed in to change notification settings - Fork 204
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
Initial CUB/NVRTC support #1081
Initial CUB/NVRTC support #1081
Conversation
|
||
#include <cuda.h> | ||
#include <cuda/std/limits> | ||
#include <cuda/__cccl_config> // _LIBCUDACXX_CUDACC_VER |
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.
That should not be necessary as we pull in __cccl_config
from cuda/__config
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.
@miscco did you mean cub/config.cuh
?
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 meant that <cuda/std/limits>
already pulls it in but also <cub/config.cuh>
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 prefer having independent headers with explicit inclusion of what's used. Do you anticipate any issues with including cuda/__cccl_config
directly?
#if !defined(_LIBCUDACXX_COMPILER_NVRTC) | ||
# include <iterator> | ||
#else | ||
# include <cuda/std/iterator> | ||
#endif |
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 am of the impression, that we are quite feature complete now with respect to iterator. what do we need from std?
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.
Swap |
This PR is blocked until #1097 is merged |
Description
closes #403
This PR provides initial CUB/NVRTC support and adds a simple smoke test to see if basic warp / block-scope functionality works. Testing approach is temporary. Once the PR is merged, we'll need to hoist nvrtcc to CCCL level and start utilizing it for CUB.
Checklist