Repository navigation
Pin F16 dot negative overflow and bit-identity in the 0005 test - #183
Merged
Merged
Conversation
Add a negative-only overflow row, recompute rows checked against the first 0005's F32 order, and finite non-integer rows that expose F32 lane order and a float block tail. The Linux smoke keeps its F16 tolerance and returns the F32 control to 2e-6.
5 tasks
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.
Test-only follow-up to the non-blocking findings of the #182 audit (patch 0005 unchanged), tracking #174.
Changes
tests/f16_dot_accumulation_test.cppn< 2080 and longer) are checked bit-exact on data whose F32 lane order and float-versus-double block tail are visible.f16_sums): elsewhere F32 sums of the long rows drift past the exact-sum tolerance, and upstream asserts a finite sum on NaN/inf in debug builds.tools/linux_cpu_variant_smoke.c: keeps the four-F16-roundings tolerance for patched F16 cases; the F32 control (case 10, unpatched code) is back to 2e-6.docs/native174_f16_dot_accumulation.md: checks list.Verification
Apple M4, llama.cpp
v0.9.0with patches applied, FMLAL default build andGGML_CPU_ARM_ARCH=armv8.2-a+fp16+dotprod. Unmodified patch passes both;python3 -m unittest discover -s tests -p 'test_*.py'passes (449 tests); the smoke passes on the patched module.sum <= FLT_MAXvmaxvcheck, A02 NaN-only check