chore: import upstream snapshot with attribution
Book-CI / test (macos-latest) (push) Has been cancelled
Book-CI / test (ubuntu-latest) (push) Has been cancelled
Book-CI / test (windows-latest) (push) Has been cancelled
Release Fake Tag / publish (push) Has been cancelled
Deploy / deploy (macos-latest) (push) Has been cancelled
Deploy / deploy (ubuntu-latest) (push) Has been cancelled
Deploy / deploy (windows-latest) (push) Has been cancelled
Release to PyPI / Build & publish sglang-kt (push) Has been cancelled
Release to PyPI / Build kt-kernel (Python 3.11) (push) Has been cancelled
Release to PyPI / Build kt-kernel (Python 3.12) (push) Has been cancelled
Release to PyPI / Publish kt-kernel to PyPI (push) Has been cancelled

This commit is contained in:
wehub-resource-sync
2026-07-13 13:30:03 +08:00
commit ec436095dd
1232 changed files with 404407 additions and 0 deletions
+120
View File
@@ -0,0 +1,120 @@
#!/usr/bin/env python3
"""
CPU feature detection script for kt-kernel.
This script checks if your CPU supports the required instruction sets for FP8 MoE:
- AVX512F (foundation)
- AVX512_BF16 (BF16 dot product)
- AVX512_VNNI (VNNI instructions)
- AVX512_VBMI (byte permutation)
Usage:
python3 scripts/check_cpu_features.py
"""
import os
import sys
def check_cpuinfo():
"""Check CPU features via /proc/cpuinfo."""
try:
with open("/proc/cpuinfo", "r") as f:
cpuinfo = f.read().lower()
return cpuinfo
except FileNotFoundError:
return None
def main():
print("=" * 70)
print("KT-Kernel CPU Feature Detection")
print("=" * 70)
print()
cpuinfo = check_cpuinfo()
if cpuinfo is None:
print("❌ /proc/cpuinfo not found (not on Linux?)")
print(" Cannot detect CPU features automatically.")
sys.exit(1)
# Extract CPU model
for line in cpuinfo.split("\n"):
if "model name" in line:
model = line.split(":")[1].strip()
print(f"CPU Model: {model}")
break
print()
# Check AMX support
print("AMX Support (Intel Sapphire Rapids+):")
amx_flags = ["amx_tile", "amx_int8", "amx_bf16"]
amx_status = {}
for flag in amx_flags:
has_flag = flag in cpuinfo
amx_status[flag] = has_flag
status = "" if has_flag else ""
print(f" {status} {flag.upper()}")
has_amx = all(amx_status.values())
print(f"\n Overall AMX Support: {'✅ YES' if has_amx else '❌ NO'}")
print()
# Check AVX512 support
print("AVX512 Support (required for FP8 MoE):")
avx512_flags = ["avx512f", "avx512_bf16", "avx512_vnni", "avx512_vbmi"]
avx512_status = {}
for flag in avx512_flags:
has_flag = flag in cpuinfo
avx512_status[flag] = has_flag
status = "" if has_flag else ""
flag_desc = {
"avx512f": "AVX512F (foundation)",
"avx512_bf16": "AVX512_BF16 (BF16 dot product)",
"avx512_vnni": "AVX512_VNNI (VNNI instructions)",
"avx512_vbmi": "AVX512_VBMI (byte permutation)",
}
print(f" {status} {flag_desc.get(flag, flag.upper())}")
has_avx512_full = all(avx512_status.values())
print(f"\n Overall AVX512 Support: {'✅ YES' if has_avx512_full else '❌ NO'}")
if not has_avx512_full and avx512_status["avx512f"]:
missing = [f for f in avx512_flags if not avx512_status[f]]
print(f" ⚠️ Warning: AVX512F detected but missing: {', '.join(missing)}")
print(f" kt-kernel will fall back to AVX2 mode")
print()
# Check AVX2 support
print("AVX2 Support (fallback):")
has_avx2 = "avx2" in cpuinfo
status = "" if has_avx2 else ""
print(f" {status} AVX2")
print()
# Recommendation
print("=" * 70)
print("Recommendation:")
print("=" * 70)
if has_amx:
print("✅ Your CPU supports AMX - you can use the highest performance mode!")
print(" Build with: -DKTRANSFORMERS_CPU_USE_AMX_AVX512=ON -DKTRANSFORMERS_CPU_USE_AMX=ON")
elif has_avx512_full:
print("✅ Your CPU supports full AVX512 (F/BF16/VNNI/VBMI) - FP8 MoE will work!")
print(" Build with: -DKTRANSFORMERS_CPU_USE_AMX_AVX512=ON")
elif avx512_status.get("avx512f", False):
print("⚠️ Your CPU has AVX512F but missing required extensions.")
print(" FP8 MoE will NOT work. kt-kernel will fall back to AVX2 mode.")
print(" Missing extensions:", ", ".join([f for f in avx512_flags if not avx512_status.get(f, False)]))
elif has_avx2:
print("️ Your CPU supports AVX2 only - basic compatibility mode.")
print(" FP8 MoE will NOT be available, but other features will work.")
else:
print("❌ Your CPU does not support the minimum required instruction set (AVX2).")
print(" kt-kernel may not work on this system.")
print()
if __name__ == "__main__":
main()