NVIDIA / NVIDIA/cccl

[DOC]: DeviceSelect::If upper limit of temp_storage_bytes?

Open
#1,148 2 comments 0 reactions 1 assignee Assigned to @gevtushenko View on GitHub
needs triage
Dominant language
C++
Stars
2.5k
Forks
486
Avg merge
2d 6h
Merged PRs (30d)
295

Description

### Is this a duplicate?

- [X] I confirmed there appear to be no [duplicate issues](https://github.com/NVIDIA/cccl/issues) for this bug and that I agree to the [Code of Conduct](CODE_OF_CONDUCT.md)

### Is this for new documentation, or an update to existing docs?

Update

### Describe the incorrect/future/missing documentation

The `DeviceSelect` module documentation lacks information on an estimated (or better yet, upper bound) memory required for the temporary storage. Which parameters does it scale with (e.g the length of the input, number of threads, or is it fixed size)?

For example, the `DeviceRadixSort` docs provide information as the following:

> This operation requires an allocation of temporary device storage that is O(N+P), where N is the length of the input and P is the number of streaming multiprocessors on the device. For sorting using only O(P) temporary storage, see the sorting interface using DoubleBuffer wrappers below.

However, for `DeviceSelect::If` I cannot tell if the `temp_storage_bytes` will even fit my memory for giant inputs or not, and I cannot batch my array beforehand because I don't know how temp storage scales.

Before the docs are officially updated, can you please provide some information about the estimate here?

Thank you,
Best regards,
Ivan.

### If this is a correction, please provide a link to the incorrect documentation. If this is a new documentation request, please link to where you have looked.

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.