Repository navigation
ci(bench): add an x86_64 tier without AVX-512 IFMA - #419
Conversation
Quest-Claim: a69888eb75be8363
RSA A/Bs on GitHub's runners read the no-ifma row, which times the path of CPUs without IFMA whatever CPU the runner draws. The no-adx row now denies rind's dual AVX-512 RSAZ too, as it already did aws-lc's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A tier new to bench.yml would otherwise render as an empty column, which the report reads as code shared with the column to its left. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Your OpenCode Go account is out of credit. Top it up, then re-trigger Pullfrog. OpenCode Go's response
|
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 22 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. |
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed cd58732. No actionable findings. The dedicated no-IFMA row is a sound direction: its release-build feature denial reaches rind's RSA capability check, the aws-lc mask clears IFMA, and the row keeps a distinct artifact/tier identity. The no-ADX adjustment removes the asymmetric IFMA path, and filtering report columns by saved tiers avoids implying a missing new tier was measured.
Verification: GitHub-only static review of all changed files, workflow result handling, report helpers, CPU detection, and RSA benchmark selection. I did not run actionlint, report tests, SDE, or benchmarks on IFMA hardware.

Summary
bench.ymlgains anative (x86_64-unknown-linux-gnu, portable, no-ifma)row that denies only AVX-512 IFMA to rind (RIND_CPU_DISABLE_avx512ifma) and to aws-lc (OPENSSL_ia32cap='~0x0:~0x200000', leaf 7 EBX bit 21) and timesrsa_priv. An RSA change's A/B now reads that row and measures the path CPUs without IFMA take, whether the runner draws an AMD EPYC 7763 or an IFMA CPU such as the EPYC 9V74 or Xeon 6975P-C. moq-dev/rind#351 had to re-dispatch until both runs avoided IFMA.The speed epic now says which row an RSA comparison reads, and lists the no-IFMA tier among the paths it covers.
admin/bench-reportknows the new tier as the "no IFMA" column, between x86_64 and no ADX.Fixed along the way: the
no-adxrow denied aws-lc its dual AVX-512 RSAZ but left rind's on, since rind gained one in moq-dev/rind#263 after the row's comment ("which rind lacks") was written. On an IFMA runner that row compared rind's IFMA RSA against aws-lc's non-IFMA one. It now denies rind's too, matching the Haswell path it models.Caused by
no-adxbench rowPublic API
None. CI and admin tooling only.
Decisions made without asking
portable: truefor the row, asno-adxdoes. It reuses the existingrind_cpu_disabledenial and drops ring, which can't be denied a feature. ring's RSA has no IFMA path, so it could have stayed, but that needs a second switch besideportable; rind against aws-lc is enough for an A/B, which compares rind with itself.rsa_priv. IFMA reaches only RSA's CRT pair (mod_exp_pair). The RSA-2048 handshake inrustlsshares that signing cost but would add every other handshake and the bulk transfer to the row.tiers.jsonwith the new tier would add an all-empty "no IFMA" column, which the report reads as "same code as x86_64".tier_columnsnow drops a column the run lacks;admin/bench-report nightlyalready refuses an incomplete run, so this only matters between adding a tier and the next refresh. Until a nightly onmaintimes the row,nightlyreports runs as lacking "no IFMA", as for any new tier. BENCHMARKS.md changes only in its intro line.Validation
actionlint .github/workflows/bench.yml: clean.origin/mainafter moq-dev/rind#397 (OVH hosts, report refresh) without conflicts;admin/bench-report renderregenerates nothing on the merged tree, andrender --checkpasses.python3 admin/bench-report-test: 17 tests pass on the merged tree.quest check: ok.sde -spr), a release build with--cfg rind_cpu_disablepassesdetects_the_expected_cpuwithRIND_TEST_X86_AVX512_RSA=1, and withRIND_CPU_DISABLE_avx512ifma=1passes it at=0and fails it at=1: the denial turns off rind's dual RSAZ.just check: passes.Follow-ups
None.
Models
Size: XS
Implementer: Claude Code, claude-opus-5-5, high effort
(Written by Claude Opus 5.5 with high)
Review
Rewritten by
quest reviewafter each round.01a1b2ff-1c4d-7dc3-8570-b6b422aaae93, round 1The specified diff consistently adds the no-IFMA benchmark tier and preserves older report data compatibility; all eight rendering tests pass, with no actionable defects identified.