-
Notifications
You must be signed in to change notification settings - Fork 36
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
Cut down on the number of AccessTraits<Predicates, PredicatesTag> #978
Cut down on the number of AccessTraits<Predicates, PredicatesTag> #978
Conversation
After spending quite a bit of time on it, I have no idea how to fix the CUDA 11.0.3 |
It seems to complain about unresolved extern functions for ArborX::AccessTraits<Kokkos::View<ArborX::Intersects<ArborX::Box>*, Kokkos::Device<Kokkos::Cuda, Kokkos::CudaSpace> >, ArborX::PredicatesTag, void>::get(Kokkos::View<ArborX::Intersects<ArborX::Box>*, Kokkos::Device<Kokkos::Cuda, Kokkos::CudaSpace> > const&, int)
ArborX::Intersects<ArborX::ExperimentalHyperGeometry::Sphere<3, float> >&& std::forward<ArborX::Intersects<ArborX::ExperimentalHyperGeometry::Sphere<3, float> > >(std::remove_reference<ArborX::Intersects<ArborX::ExperimentalHyperGeometry::Sphere<3, float> > >::type&)
ArborX::AccessTraits<Kokkos::View<ArborX::Intersects<ArborX::Sphere>*, Kokkos::Device<Kokkos::Cuda, Kokkos::CudaSpace> >, ArborX::PredicatesTag, void>::get(Kokkos::View<ArborX::Intersects<ArborX::Sphere>*, Kokkos::Device<Kokkos::Cuda, Kokkos::CudaSpace> > const&, int) |
Yeah, but it doesn't make sense to me. |
InsertGenerator<FirstPassTag, PermutedPredicates, Callback, OutputView, | ||
CountView, PermutedOffset>{callback, out, counts, | ||
permuted_offset}, | ||
InsertGenerator<FirstPassTag, Callback, OutputView, CountView, |
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.
Do you need to specify the template parameters other than the tag?
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 tried removing them, and it failed. I always forget what the rules are.
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.
If one template parameter is specified, all of them need to be provided, see https://godbolt.org/z/eKhnTW3nr. Aggregate deduction only works if no template parameters are given (which would require storing the tag here).
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.
71366f8
to
6931802
Compare
Rebased on master to resolve conflicts with #970. |
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.
Good enough
Thanks. Except it f-ing does not build on CUDA-11.0.3 because of |
Given that I could not figure out how to fix cuda/11.0.3 build with nvcc, we decided to (hopefully temporarily) switch the cuda version in the CI to cuda/11.1 to make progress with refactoring. The hope is that after we complete the refactoring, we would try to switch back and maybe the issue would disappear. The goal is to not waste time on it right now. The reason we went to 11.1 and not 11.4 is to not get excited with CTAD and then having to roll it back. We actually lived without 11.0 build for quite some time in the beginning of the year. Had to reintroduce it when HACC team found issues in April. Having said that, we would welcome any attempts to fix it. |
Follow up to #967.