-
Notifications
You must be signed in to change notification settings - Fork 88
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
[DO NOT MERGE] Testing LLVM CI config #411
Draft
sleeepyjack
wants to merge
3
commits into
NVIDIA:dev
Choose a base branch
from
sleeepyjack:clang_17_fixup3
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Commits on Dec 20, 2023
-
Fix error compiling tuple_size in clang 17.
Clang complains: In file included from cuco/static_map.cuh:24: In file included from cuco/pair.cuh:147: In file included from cuco/detail/pair/pair.inl:54: cuco/detail/pair/tuple_helpers.inl:18:8: error: cannot specialize a dependent template 18 | struct tuple_size<cuco::pair<T1, T2>> : integral_constant<size_t, 2> { | ^ cuco/detail/pair/tuple_helpers.inl:22:8: error: cannot specialize a dependent template 22 | struct tuple_size<const cuco::pair<T1, T2>> : tuple_size<cuco::pair<T1, T2>> { | ^ cuco/detail/pair/tuple_helpers.inl:26:8: error: cannot specialize a dependent template 26 | struct tuple_size<volatile cuco::pair<T1, T2>> : tuple_size<cuco::pair<T1, T2>> { | ^ cuco/detail/pair/tuple_helpers.inl:30:8: error: cannot specialize a dependent template 30 | struct tuple_size<const volatile cuco::pair<T1, T2>> : tuple_size<cuco::pair<T1, T2>> { | ^ cuco/detail/pair/tuple_helpers.inl:34:8: error: cannot specialize a dependent template 34 | struct tuple_element<I, cuco::pair<T1, T2>> { | ^ cuco/detail/pair/tuple_helpers.inl:39:8: error: cannot specialize a dependent template 39 | struct tuple_element<0, cuco::pair<T1, T2>> { | ^ cuco/detail/pair/tuple_helpers.inl:44:8: error: cannot specialize a dependent template 44 | struct tuple_element<1, cuco::pair<T1, T2>> { | ^ cuco/detail/pair/tuple_helpers.inl:49:8: error: cannot specialize a dependent template 49 | struct tuple_element<0, const cuco::pair<T1, T2>> : tuple_element<0, cuco::pair<T1, T2>> { | ^ cuco/detail/pair/tuple_helpers.inl:53:8: error: cannot specialize a dependent template 53 | struct tuple_element<1, const cuco::pair<T1, T2>> : tuple_element<1, cuco::pair<T1, T2>> { | ^ cuco/detail/pair/tuple_helpers.inl:57:8: error: cannot specialize a dependent template 57 | struct tuple_element<0, volatile cuco::pair<T1, T2>> : tuple_element<0, cuco::pair<T1, T2>> { | ^ cuco/detail/pair/tuple_helpers.inl:61:8: error: cannot specialize a dependent template 61 | struct tuple_element<1, volatile cuco::pair<T1, T2>> : tuple_element<1, cuco::pair<T1, T2>> { | ^ cuco/detail/pair/tuple_helpers.inl:65:8: error: cannot specialize a dependent template 65 | struct tuple_element<0, const volatile cuco::pair<T1, T2>> : tuple_element<0, cuco::pair<T1, T2>> { | ^ cuco/detail/pair/tuple_helpers.inl:69:8: error: cannot specialize a dependent template 69 | struct tuple_element<1, const volatile cuco::pair<T1, T2>> : tuple_element<1, cuco::pair<T1, T2>> { | ^ If we dig in, include/cuco/detail/pair/pair.inl is trying to teach tuple_size and tuple_element to work with cuco::pair's. thrust/pair.h defines thrust::tuple_size to be: template <class T> using tuple_size = ::cuda::std::tuple_size<T>; This is a using statement, not a class. So, we only need to teach cuda::std::{tuple_size, tuple_element} how to work with cuco::pair, not thrust::{tuple_size, tuple_element}. Signed-off-by: Austin Schuh <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e5c9282 - Browse repository at this point
Copy the full SHA e5c9282View commit details -
Make member access explicitly qualified for clang 17
Clang complains: external/com_github_nvidia_cuco/include/cuco/detail/static_map.inl:446:21: error: explicit qualification required to use member 'initial_slot' from dependent base class 446 | auto current_slot{initial_slot(insert_pair.first, hash)}; | ^ frc971/orin/cuda.cc:219:32: note: in instantiation of function template specialization 'cuco::static_map<unsigned long, unsigned long>::device_mutable_view::insert_and_find<cuco::detail::XXHash_32<unsigned long>, thrust::equal_to<unsigned long>>' requested here 219 | auto [iter, inserted] = view.insert_and_find(thrust::make_pair(union_markers[i], 1)); | ^ Signed-off-by: Austin Schuh <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8c9798b - Browse repository at this point
Copy the full SHA 8c9798bView commit details -
Configuration menu - View commit details
-
Copy full SHA for ef3bc7f - Browse repository at this point
Copy the full SHA ef3bc7fView commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.