ViperEkura
49a9c6b3d2
build: migrate CUDA kernel build to CMake
...
Replace torch CUDAExtension/ParallelBuildExtension with a CMake-based build. Each kernel compiles as an independent pybind11 module in parallel via cmake --build -j, outputting to astrai/extension/lib.
- Add csrc/CMakeLists.txt (5 kernel targets, torch/pybind11 linking)
- setup.py: _CMakeBuildExt invokes cmake; auto-detect CUDA arch via torch
- Remove csrc/build.py (REGISTRY/build flags now in CMakeLists)
- Fix rel-err eps in attn_test.cu (1e-8 -> 1e-4, bf16 scale)
- Update docs/developer/cuda_kernels.md build section
- .gitignore: allow csrc/CMakeLists.txt
2026-08-04 21:27:22 +08:00
ViperEkura
c8b1e40f71
docs: restructure to docs/, add guides and developer docs
...
- Rename assets/ to docs/, split into guides/ and developer/
- Add get-started.md: installation + 5-step quickstart
- Add guides/evaluation.md: 7 eval scripts with CLI args
- Add guides/distributed.md: DDP/FSDP, gradient accumulation, NCCL
- Add developer/internals.md: loss formulas, RoPE, KV cache math
- Add developer/cuda_kernels.md: build system, benchmarks, file layout
- Fix storage_format doc in preprocessing.md
- Update cross-references in README.md, README-zh-CN.md, Dockerfile
2026-07-30 00:49:04 +08:00
ViperEkura
05c7432964
chore: remove AGENTS.md
2026-07-27 07:21:40 +08:00
ViperEkura
4de42d83c2
refactor: migrate scripts from argparse to click, add YAML config support
...
- Replace argparse with click in all scripts (train, server, generate,
preprocess, benchmark)
- Add --config YAML support to train.py with CLI flag override
- Add --dry-run mode to validate config before training
- Add type annotations throughout benchmark.py
- Unify docstring format across all commands
- Remove redundant deps httpx, requests, pyyaml, rich from pyproject.toml
- Net -346 lines while adding YAML config support
2026-07-27 06:55:46 +08:00
ViperEkura
8a8550184f
refactor: template AttentionParams, rename .cuh to .h
...
- Convert AttentionParams to a template struct supporting arbitrary types
- Rename attn_common.cuh -> attn_common.h (no CUDA-specific code remains)
- Include standard headers explicitly in each .cuh instead of via attn_common.cuh
- Allow .h files in csrc/ via .gitignore
2026-07-11 11:03:14 +08:00
ViperEkura
bcdd93e0eb
feat: split kernel defs from bindings, add prefill tiled kernel and pure C tests
...
- Split .cuh/.cu for gqa_decode_attn and gqa_prefill_attn
- gqa_prefill_attn: tiled shared-memory K/V, fused load, compute-opt, mask support
- Add pure C tests under csrc/tests/ for fast nvcc-only iteration
- Update .gitignore for build artifacts
2026-07-06 16:14:55 +08:00
ViperEkura
e8e228d035
feat: add optional CUDA kernel system (csrc/) + fused GQA decode attention
...
Structure:
csrc/ -- .cu sources + build.py registry
astrai/extension/ -- compiled .so + __init__.py (import dispatcher)
setup.py -- CUDAExtension from csrc/build.py REGISTRY
Control: CSRC_KERNELS=true|false env var at install time.
Fallback: astrai.extension.available dict for runtime detection.
2026-07-06 12:09:58 +08:00
ViperEkura
1adca39cd8
fix: handle long sequences and optimize IFD computation
2026-07-04 08:35:45 +08:00
ViperEkura
34a511e36e
feat: 新增 Docker Compose 一键部署,支持 GPU/CPU 双模式
2026-05-09 11:57:46 +08:00
ViperEkura
7861af12e4
chore: 增加docker 配置
2026-04-04 10:59:32 +08:00
ViperEkura
7f0552013a
chore: 增加提交检测脚本
2026-04-04 10:43:24 +08:00
ViperEkura
94c6a015c8
chore: 更新ignore
2026-04-03 14:31:05 +08:00
ViperEkura
912d7c7f54
chore: 更新脚本并且修改gitignore
2026-04-02 15:40:31 +08:00
ViperEkura
e7721eafc6
docs: 更新说明内容
2026-03-31 15:18:49 +08:00
ViperEkura
426af2d75f
style: 使用ruff 工具优化代码风格
2026-03-30 23:32:28 +08:00
ViperEkura
80e17418b4
fix: 修复一些运行时问题
2026-03-01 15:47:07 +08:00
ViperEkura
eab7a51bb6
feat(parallel): 改进设备策略注册表与并行设置功能
2025-12-19 15:25:31 +08:00
ViperEkura
2dc7b5bda8
build(.gitignore): 更新 gitignore 文件忽略规则
2025-09-28 15:39:13 +08:00
ViperEkura
a4443765ee
Initial commit
2025-09-27 12:02:22 +08:00