Skip to content

feat(turbo): validate distance kernel ISA dispatch in CI - #741

Open
richyreachy wants to merge 8 commits into
alibaba:mainfrom
richyreachy:feat/turbo_isa_ci_job
Open

richyreachy wants to merge 8 commits into
alibaba:mainfrom
richyreachy:feat/turbo_isa_ci_job

Conversation

@richyreachy

Copy link
Copy Markdown
Collaborator

Summary

Add deterministic CI coverage for Turbo distance-kernel ISA dispatch.

Changes

  • Add get_distance_kernel_arch() to report the architecture selected by the distance kernel table without executing the kernel.
  • Add deterministic tests using simulated CPU feature profiles.
  • Verify dispatch priority across Scalar, AVX2, AVX512, and AVX512-VNNI.
  • Verify additional feature requirements:
    • F16C for FP16 kernels
    • AVX512BW for INT8, INT4, and raw uint8 kernels
    • AVX512DQ for raw FP16 kernels
  • Verify explicit ISA requests do not silently fall back.
  • Add a native-machine smoke test using the runner's detected CPU features.
  • Run the focused dispatch test in Linux, macOS, and Windows CI jobs.

Motivation

Existing kernel correctness tests verify individual SIMD implementations when supported, but they do not directly verify that kAuto selects the highest-priority compatible entry from the distance kernel table.

The simulated CPU profiles make this behavior deterministic and allow CI to cover ISA combinations that may not be available on GitHub-hosted runners.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant