{{ message }}
Add test: arrayNorm over Array(BFloat16) (widen-to-Float32 kernel path) is untested across the whole suite#106644
Merged
Conversation
Contributor
Author
Contributor
|
Workflow [PR], commit [9160411] Summary: ✅ AI ReviewSummary
Missing context / blind spots
Final Verdict
|
nickitat
approved these changes
Jun 10, 2026
Contributor
LLVM Coverage ReportChanged lines: No C/C++ source files changed — skipping uncovered code analysis. Newly covered by added/modified tests: 546 line(s), 44 function(s) across 135 file(s) · Details Top files
|
Merged
via the queue into
ClickHouse:master
with commit Jun 10, 2026
a099632
327 of 328 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Found via ClickGap automated review. Please close or comment if this is incorrect or needs adjustment.
This is a test-only PR — no source code changes. Please review: test quality, whether the claimed coverage gaps are real, and whether test output makes sense.
Adds test coverage for 1 untested code path(s), found during automated review of PR #106211.
That PR The PR rewrites the row loop of
arrayNorm(L1Norm/L2Norm/L2SquaredNorm/LinfNorm/LpNorm) into a single batched, manually-unrolled kernelnormBatchImpl(unroll_count=16) with runtime CPU dispatch to anx86_64_v4(AVX-512) specialisation viaMULTITARGET_FUNCTION_X86_V4/ `isArchSuppor1.
arrayNormoverArray(BFloat16)(widen-to-Float32 kernel path) is untested across the whole suitesrc/Functions/array/arrayNorm.cpp:202,src/Functions/array/arrayNorm.cpp:270Risk:
getReturnTypeImplmapsTypeIndex::BFloat16->DataTypeFloat32(arrayNorm.cpp:202-204), andexecuteWithResultTypedispatches toexecuteWithTypes<Float32, BFloat16>which calls the newnormBatchImplkernel that widens each element viastatic_cast<ResultType>(row_data[i])(arrayNorm.cpp:168/175). No stateless or integration test ever passes a BFloat16 array to these functions. Risk: a broken BFloat16->Float32 widening or a dropped BFloat16 switch case would silently return wrong norms …What's unique vs PR tests: The PR ships no tests; the only existing norm test (02283_array_norm.sql) covers Array(UInt8)/Array(Int32)/Array(Float32)/Array(Float64). This test is the sole coverage of the Array(BFloat16) widening instantiation that the PR's new kernel explicitly handles.
Try it on ClickHouse Fiddle
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes into CHANGELOG.md):
Not applicable — test-only change.
Documentation entry for user-facing changes
Version info
26.6.1.613