You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In CUB we want to converge to a uniform way of handling the offset types. Currently there are predominantly three ways an algorithm determines the offset type that is used within its kernel(s): (1) use the type the user provided for the num_items parameter, (2) use int as the offset type, and (3) use uint32_t if num_items's type is four bytes or less and use uint64_t otherwise.
This comment summarizes the state we want to converge to. I.e., preferably use option (3).
We should summarize the state of determining the offset type for all algorithms used in CUB:
Provide a list of device-scope algorithms currently present in CUB (see here)
For each algorithm, summarize the dispatch mechanism currently used (see here)
Check if we test the algorithm for
inputs larger than std::numeric_limits<uint32_t>::max() (see here)
inputs close to std::numeric_limits<OffsetT>::max() to make sure we don't run into integer overflows during offset computation within the kernels (see here)
The text was updated successfully, but these errors were encountered:
In CUB we want to converge to a uniform way of handling the offset types. Currently there are predominantly three ways an algorithm determines the offset type that is used within its kernel(s): (1) use the type the user provided for the
num_items
parameter, (2) useint
as the offset type, and (3) useuint32_t
ifnum_items
's type is four bytes or less and useuint64_t
otherwise.This comment summarizes the state we want to converge to. I.e., preferably use option (3).
We should summarize the state of determining the offset type for all algorithms used in CUB:
std::numeric_limits<uint32_t>::max()
(see here)std::numeric_limits<OffsetT>::max()
to make sure we don't run into integer overflows during offset computation within the kernels (see here)The text was updated successfully, but these errors were encountered: