Repository navigation
simd-matrix: key native-resolving caches by the runner's target features - #345
Merged
Merged
Conversation
…eatures The nightly and host-native rows build under target-cpu=native on a heterogeneous runner pool, but cached under a job-only key. A proc-macro .so compiled for one runner's CPU was restored on another and rustc died loading it (SIGILL in the cached paste .so, ndarray #344). Key both caches by the target features rustc resolves for native on the runner. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01EFw2WdKr1oxvaKCJC2ua2R
Contributor
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (1)
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Comment |
AdaWorldAPI
marked this pull request as ready for review
October 8, 2026 22:44
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
Problem
On #344,
realization/nightly × x86_64failed withSIGILLinside a cached proc-macro, before any test ran:The
nightlyandhost-nativerows build under the repo'starget-cpu=nativedefault, and with no global RUSTFLAGS that also applies to host artifacts such as proc-macros. Theubuntu-latestpool is heterogeneous: the workflow's ownhost-nativecomment records an AVX-512 runner and a non-AVX-512 runner in one run. Both rows cache under a key that depends only on the job (key: nightly, or the default forhost-native). A proc-macro.socompiled for one runner's CPU is therefore restored on another, and rustc dies loading it.Fix
Both rows now hash the target features rustc resolves for
nativeon the runner and add the hash to the cache key (rust-cache'skeyis added to its automatic job key):The key is exactly what decides those artifacts. Runners with the same feature set share a cache, and different ones never do.
Scope
nightlyandhost-nativerows. They are the only rows whose artifacts depend on the runner's CPU.native: pins v3, so its artifacts are the same on every runner.native-v4: pins v4, so the same holds.neonandwasm: they cross-compile to other targets.ci.yaml: its workflow-globalRUSTFLAGS: -D warningsreplaces the config'starget-cpu, so native never applies there.Verification
nightlyrow is its first exercise.🤖 Generated with Claude Code
https://claude.ai/code/session_01EFw2WdKr1oxvaKCJC2ua2R
Generated by Claude Code