Skip to content

Dry run: preprocessing::quantize::scalar - #2519

Open
achirkin wants to merge 3 commits into
NVIDIA:mainfrom
achirkin:fea-dry-run-preprocessing-quantize-scalar
Open

Dry run: preprocessing::quantize::scalar#2519
achirkin wants to merge 3 commits into
NVIDIA:mainfrom
achirkin:fea-dry-run-preprocessing-quantize-scalar

Conversation

@achirkin

Copy link
Copy Markdown
Contributor

Tweak scalar quantizer to support execution in dry run mode.

@achirkin achirkin self-assigned this Aug 28, 2026
@achirkin
achirkin requested a review from a team as a code owner August 28, 2026 13:24
@achirkin achirkin added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels Aug 28, 2026
@achirkin achirkin moved this to In Progress in Unstructured Data Processing Aug 28, 2026
@achirkin

Copy link
Copy Markdown
Contributor Author

This PR also adds the test harness to protect newly dry run compliant code from regressions, hence most of the diff is in the tests.
I'll be adding the dry run checks to cuVS one components at a time.

@mfoerste4 mfoerste4 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@tfeher tfeher left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Artem, thanks for the PR, it looks good, but I have one question regarding the usage of the test util.

Comment thread cpp/tests/test_utils.cuh
template <typename Action>
void execute_with_dry_run_check(raft::resources const& res,
Action&& action,
alloc_behavior behavior,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the expected usage of this parameter?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This harness is a verbatim copy from raft test utils. You can specify there where:
a. NO_ALLOCATIONS: you don't expect any allocations. Both dry run and real run should yield all zeroes.
b. ARGUMENT_DRIVEN: you expect the exact size of allocations is fully determined by the input arguments. Dry run and real run should return exact same sizes.
c. DATA_DRIVEN: the allocation size depends on data. Dry run sizes must never be less than real run sizes.

@achirkin
achirkin requested a review from tfeher September 1, 2026 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Enhancement improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

3 participants