-
Notifications
You must be signed in to change notification settings - Fork 308
Rework hierarchy levels #6957
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
base: main
Are you sure you want to change the base?
Rework hierarchy levels #6957
Conversation
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
285fc8e to
0913bfc
Compare
1696934 to
8e96baa
Compare
378f52f to
ee6e83f
Compare
ee6e83f to
41d720f
Compare
This comment has been minimized.
This comment has been minimized.
4974c84 to
c9abf7b
Compare
d1d1d7c to
5a5e93f
Compare
c7176e9 to
f479987
Compare
4acd651 to
000c2eb
Compare
This comment has been minimized.
This comment has been minimized.
😬 CI Workflow Results🟥 Finished in 1h 35m: Pass: 98%/123 | Total: 1d 18h | Max: 1h 35m | Hits: 99%/212322See results here. |
| */ | ||
| template <class _Tp, size_t... _Extents> | ||
| struct hierarchy_query_result : public dimensions<_Tp, _Extents...> | ||
| struct hierarchy_query_result_org : public dimensions<_Tp, _Extents...> |
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.
Should this type be removed?
|
|
||
| _CCCL_TEMPLATE(class _Tp, class _Hierarchy) | ||
| _CCCL_REQUIRES(::cuda::std::__cccl_is_integer_v<_Tp> _CCCL_AND __is_hierarchy_v<_Hierarchy>) | ||
| [[nodiscard]] _CCCL_DEVICE_API static _Tp rank_as(const grid_level& __level, const _Hierarchy& __hier) noexcept |
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.
Is this needed just as an optimization?
| _CCCL_TEMPLATE(class _Tp, class _InLevel, class _Hierarchy) | ||
| _CCCL_REQUIRES(::cuda::std::__cccl_is_integer_v<_Tp> _CCCL_AND __is_hierarchy_level_v<_InLevel> _CCCL_AND | ||
| __is_hierarchy_v<_Hierarchy>) | ||
| [[nodiscard]] _CCCL_API static constexpr auto extents_as(const _InLevel& __in_level, const _Hierarchy& __hier) noexcept |
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.
Why not just return __hier.extents(_Level{}, _InLevel{})?
|
|
||
| _CCCL_TEMPLATE(class _Tp2 = _Tp) | ||
| _CCCL_REQUIRES(::cuda::std::is_same_v<_Tp2, signed char>) | ||
| _CCCL_API constexpr operator char3() const noexcept |
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.
we really need all those operators?
| inline constexpr bool trait_v = cuda::__is_natively_reachable_hierarchy_level_v<FromLevel, ToLevel>; | ||
|
|
||
| static_assert(!trait_v<cuda::thread_level, cuda::thread_level>); | ||
| static_assert(!trait_v<cuda::thread_level, cuda::warp_level>); |
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.
think a query like that should work no?
Closes #6885