build: parametrize CUDA version for wheels and docker

- Add cu128/cu130 build matrix to release workflow
- Parametrize Dockerfile and docker-compose with CUDA_TAG build arg
- Allow csrc/ and setup.py in docker context via .dockerignore
- Add nvcc/torch CUDA version mismatch preflight warning in setup.py
- Add cuda_toolkit_version() helper in csrc/build.py
- Use at::IntArrayRef explicitly to fix ATen overload ambiguity
- Guard kernels with CUDART_VERSION >= 11020 check
- Remove invalid [tool.pip] section from pyproject.toml
This commit is contained in:
2026-07-31 14:10:55 +08:00
parent 738cb8f128
commit 5756054d38
9 changed files with 88 additions and 17 deletions
+6
View File
@@ -3,6 +3,12 @@
#include <cuda_fp16.h>
#include <cuda_runtime.h>
// Predicated cp.async (4-operand form) requires CUDA 11.2+.
// bf16 mma.sync requires sm_80+ (guarded at build time by ASTRAI_NO_MMA).
#if CUDART_VERSION < 11020
#error "AstrAI CUDA kernels require CUDA 11.2 or later (CUDART_VERSION >= 11020)."
#endif
// ============================================================================
// KernelTraits — FlashAttention-v2 style compile-time configuration bundle.
//