Repository navigation
Fedora 45 in CI: groff 1.24, col, OpenBLAS's batch crash - #331
Merged
Merged
Conversation
fedora:latest became Fedora 45, and the man job failed (#330). groff 1.24 resets hyphenation from HY at every paragraph, as it does adjustment from AD, so .nh lasted one paragraph and the site's URL was split across a line: .nr HY 0 follows it in the four pages. groff 1.24 also renders the title's hyphen in the header as U+2010, which test_man_install found once man could run: the .TH lines write \-. And man runs col, which Fedora 45's man-db no longer pulls in without its weak dependencies: the job installs util-linux. Checked with groff 1.24.1 built here and the system's 1.23. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
OpenBLAS 0.3.28 to 0.3.34 built with DYNAMIC_ARCH, as distributions build it, calls its small-matrix kernel through an offset instead of an address in a batch whose M x N x K is at most 100^3: the group call from 0.3.28 (OpenMathLib/OpenBLAS#5980), the strided one from 0.3.31 (#6086), both fixed for 0.3.35. Fedora 45's 0.3.34 made the man job's strided example segfault (#330). Reproduced here with a 0.3.34 DYNAMIC_ARCH build on every core type, 100^3 crashing and 101^3 not; a build for one target does not crash. bmb_build_batch_crash() reads the library's version string; where the run's smallest product is at most 100^3, the benchmark refuses the batch mode before calling it: exit 77, the libraries and the upstream issue said, nothing measured. Larger sizes and loop are measured. test_bmb_gemm_batch.sh checks the refusal, a sweep whose small size is not its first, and a batch past 100^3, where bmb_batch_crash says the library would crash; the alloc failures' group call is at 101. Checked: make check on Ubuntu's OpenBLAS and on the 0.3.34 DYNAMIC_ARCH build, distcheck, cppcheck; the sweep minimum taken from the first value, and the refusal removed, both caught. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Owner
Author
Review against
|
The man page, CHANGELOG and warning said larger sizes are measured, while a run with one point at most 100^3 is refused whole: they say so now, and the man page's many-small-GEMMs example says it exits 77 on an affected OpenBLAS. backends.md, benchmarks.md and bmb_suite(1) give the refusal as a cause of 77, and test_man_content.sh's message both. The man job, the only one on an affected OpenBLAS (Fedora 45's 0.3.34), runs test_bmb_gemm_batch.sh: its refusal never ran in CI. The unit test pins DYNAMIC_ARCH's two word ends apart, the strided call's 0.3.31 from below and .dev from below (both mutations caught). bmb_range_min() no longer separates bmb_check_args() from its comment, and the comment on the smallest product gives the right reason. #6214, fixed for 0.3.35, gets its bound with 0.3.35 (#332), as benchmarks.md and test_helper.sh now say. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Closes #330.
fedora:latestbecame Fedora 45, and themanandflexiblasjobs fail on every PR (#328, #329) and would on main.HYat every paragraph, so.nr HY 0now follows.nhin the four pages. It also renders the header's hyphens as U+2010, so the.THlines now write\-. Checked with a groff 1.24.1 built locally and with the system's 1.23.col: themanjob installsutil-linux, which Fedora 45'sman-dbpulls in only as a weak dependency.DYNAMIC_ARCHsegfaults on a batch of small matrices (M·N·K ≤ 100³): Fix: Small matrixgemm_batchwith DYNAMIC_ARCH OpenMathLib/OpenBLAS#5980 for the group call, #6086 for the strided one, both fixed for 0.3.35. The benchmark now refuses such a run before the call, saying why (exit 77). Larger sizes andloopare still measured. The second commit adds:bmb_batch_crashintest_helper.sh;--batch-mode, EXIT STATUS), the CHANGELOG and AGENTS.md.Tested:
make checkpasses on Ubuntu's OpenBLAS and on a local 0.3.34DYNAMIC_ARCHbuild (the one that crashes);make distcheckand cppcheck pass;🤖 Generated with Claude Code