Conversation
langou
previously approved these changes
Sep 14, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1413 +/- ##
==========================================
+ Coverage 69.36% 69.37% +0.01%
==========================================
Files 6122 6122
Lines 486711 486884 +173
Branches 23268 23268
==========================================
+ Hits 337584 337760 +176
+ Misses 148689 148687 -2
+ Partials 438 437 -1
... and 1 file with indirect coverage changes Continue to review full report in Codecov by Harness.
|
…hold ?DOT, ?COPY, ?SCAL and ?ASUM return early below their unroll factors of 5, 7, 5 and 6, so no case at N <= 4 reached the unrolled body: CHECK1 and CHECK2 gain a pass at N = 16. ?B1NRM2 gains a value at SQRT(SAFMIN), where ?NRM2 switches to its small accumulator, and one just below it, so that the small sum can outweigh the mid-range one. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ACSimon33
force-pushed
the
blas-cov-level1-long
branch
from
September 14, 2026 16:28
2b2ff47 to
11d5937
Compare
ACSimon33
marked this pull request as draft
September 14, 2026 16:32
ACSimon33
marked this pull request as ready for review
September 14, 2026 22:10
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.
Description
?DOT,?COPY,?SCALand?ASUMunroll by 5, 7, 5 and 6 and return early below their factor, so the Level 1 testers, every case of which stops at N = 4, never entered their unrolled bodies.CHECK1andCHECK2each gain one pass at N = 16, on small integer data so that the unrolled and sequential sums agree exactly and the expected values can be formed in the tester rather than tabulated.?AXPYand?SWAPunroll by 4 and 3 and are already reached at N = 4; they are in the new pass for symmetry.?B1NRM2gains two values at the threshold where?NRM2switches to its small accumulator.SQRT(SAFMIN)is exactly that threshold, so one value at it and one just below let a vector's small part outweigh its mid-range part, which is what the arm ordering the two sums needs.Coverage
gcov under gfortran 13.3.0 at
-O0, each?blat1driver linked against an otherwise uninstrumented BLAS, so these are what the BLAS testers reach on their own. Single precision shown; double is identical, and routines not listed are unchanged.SDOTSCOPYSSCALSASUMSNRM2SCNRM2andDZNRM2keep the arm the new values open for the real precisions:CB1NRM2builds its known element asCMPLX(V0,-3*V0), fixing the mid-range part atSQRT(10)times the threshold, which the small part cannot outweigh at the N values in use.Codecov reports these files at 100% on master already. Its
blasflag measures the wholectestsuite rather than the BLAS testers alone (DASUM, for one, is reached through eightSRCcallers), so this closes a hole in the BLAS test suite, not in the project's coverage.