Commit 45b1bfe
committed
ci(simd): Phase 6 — AVX-512 dispatch check job
Phase 6 of the integration plan in `.claude/knowledge/
simd-dispatch-architecture.md`.
Adds a new `tier4-avx512-check` job that compiles the crate with
`-Ctarget-cpu=x86-64-v4` so the `#[cfg(target_feature = "avx512f")]`
dispatch arm in `src/simd.rs` is exercised on every PR. Without this
the AVX-512 code path bit-rots under the v3 default (`x86-64-v3` baseline
in `.cargo/config.toml`) — it compiles only when a developer happens to
build locally with `--config .cargo/config-avx512.toml`.
Implementation notes
--------------------
* `cargo check` instead of `cargo test`/`cargo build`. GH-hosted
`ubuntu-latest` runners have intermittent AVX-512 silicon across VM
SKUs (Azure D-series mix); a v4-baked binary would SIGILL on a
non-AVX-512 host. `check` compiles through type/borrow/monomorphization
without producing a runnable artifact — catches the dispatch-arm
type mismatches that motivated this PR series in the first place
(PR #170 CI failure mode).
* Job-level `env: RUSTFLAGS: "-D warnings -Ctarget-cpu=x86-64-v4"`
overrides the global `RUSTFLAGS="-D warnings"` set at the top of
`ci.yaml`. Without the override, `.cargo/config-avx512.toml`'s
rustflags would be ignored — env wins over config file in cargo's
precedence (the same issue that broke PR #172 with the v3 setting
in config.toml).
* Two check passes: default features + `hpc-extras`. The latter pulls
the p64/fractal dep tree which exercises a different slice of the
AVX-512 codepaths (BF16 RNE, AMX byte-asm). Each runs ~30 s with
Swatinem cache hit, ~3 min cold.
* Added to the `conclusion` job's `needs` list so a v4 check failure
blocks merge.1 parent a18366a commit 45b1bfe
1 file changed
Lines changed: 33 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
171 | 171 | | |
172 | 172 | | |
173 | 173 | | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
174 | 206 | | |
175 | 207 | | |
176 | 208 | | |
| |||
269 | 301 | | |
270 | 302 | | |
271 | 303 | | |
| 304 | + | |
272 | 305 | | |
273 | 306 | | |
274 | 307 | | |
| |||
0 commit comments