Skip to content
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

Identify CUB algorithms that do/do not support large inputs #1408

Closed
5 tasks done
elstehle opened this issue Feb 20, 2024 · 0 comments
Closed
5 tasks done

Identify CUB algorithms that do/do not support large inputs #1408

elstehle opened this issue Feb 20, 2024 · 0 comments
Assignees

Comments

@elstehle
Copy link
Collaborator

elstehle commented Feb 20, 2024

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)
@github-project-automation github-project-automation bot moved this to Todo in CCCL Feb 20, 2024
@elstehle elstehle self-assigned this Feb 20, 2024
@elstehle elstehle moved this from Todo to In Progress in CCCL Feb 20, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in CCCL Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

1 participant