-
Notifications
You must be signed in to change notification settings - Fork 921
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
Make more constexpr available on device for cuIO #17746
base: branch-25.02
Are you sure you want to change the base?
Make more constexpr available on device for cuIO #17746
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. |
/ok to test |
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.
few small comments/questions
@@ -28,7 +28,7 @@ | |||
namespace cudf::io::parquet::detail { | |||
|
|||
struct page_state_s { | |||
constexpr page_state_s() noexcept {} | |||
CUDF_HOST_DEVICE constexpr page_state_s() 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.
Pretty sure the struct is not intended for compile-time use. All uses I see are in shared memory.
CUDF_HOST_DEVICE constexpr page_state_s() noexcept {} | |
CUDF_HOST_DEVICE page_state_s() noexcept {} |
@@ -105,15 +105,15 @@ struct delta_binary_decoder { | |||
|
|||
// returns the value stored in the `value` array at index | |||
// `rolling_index<delta_rolling_buf_size>(idx)`. If `idx` is `0`, then return `first_value`. | |||
constexpr zigzag128_t value_at(size_type idx) | |||
__device__ constexpr zigzag128_t value_at(size_type idx) |
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.
__device__ constexpr zigzag128_t value_at(size_type idx) | |
__device__ zigzag128_t value_at(size_type idx) |
{ | ||
return idx == 0 ? first_value : value[rolling_index<delta_rolling_buf_size>(idx)]; | ||
} | ||
|
||
// returns the number of values encoded in the block data. when all_values is true, | ||
// account for the first value in the header. otherwise just count the values encoded | ||
// in the mini-block data. | ||
constexpr uint32_t num_encoded_values(bool all_values) | ||
__device__ constexpr uint32_t num_encoded_values(bool all_values) |
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.
__device__ constexpr uint32_t num_encoded_values(bool all_values) | |
__device__ uint32_t num_encoded_values(bool all_values) |
@@ -41,6 +41,21 @@ namespace cudf { | |||
namespace strings { | |||
namespace detail { | |||
|
|||
template <typename Iter> | |||
struct string_offsets_fn { |
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 this change?
Description
Contributes to #7795
This PR addressed most of the relaxed constexpr in cuIO.
Checklist