灵犀指令集 启动入门¶
本指南是贡献者加入 灵犀指令集 启动工作区的入口点。
当前 ISA 的机器可读权威源是 isa/v0.58/linxisa-v0.58.json。
1.先决条件¶
平台说明¶
- Linux:支持(推荐)。
- macOS:支持大多数编译器/模拟器/工具工作。
- Windows:
- 通过 WSL2 支持(推荐),
- 本机 Windows 可用于编辑 + 一些工具,但大多数门都需要 POSIX shell。
必填¶
gitpython3- 用于运行
*.sh门的 POSIX shell(Linux/macOS 或 Windows+WSL2) clang+ld.lld用于 灵犀 交叉构建(来自固定的 LLVM 子模块构建或外部工具链)
推荐¶
gh(GitHub CLI)
2. 克隆子模块¶
git clone git@github.com:LinxISA/linx-isa.git
cd linx-isa
git submodule sync -- compiler/llvm
git submodule update --init compiler/llvm
子模块图:
compiler/llvm->LinxISA/llvm-projectemulator/qemu->LinxISA/qemukernel/linux->LinxISA/linuxrtl/LinxCore->LinxISA/LinxCoretools/pyCircuit->LinxISA/pyCircuitlib/glibc->LinxISA/glibclib/musl->LinxISA/musltools/Linx-TileOP-API->LinxISA/Linx-TileOP-API(linx分支)workloads/pto_kernels->PTO-ISA/pto-kernels
3. 验证基线¶
从仓库根目录:
可选覆盖:
# Tool paths can come from:
# - pinned submodules (recommended for reproducibility)
# - external installs (recommended for day-to-day dev if you already have them)
#
# If you built the pinned submodules:
export CLANG=$PWD/compiler/llvm/build-linxisa-clang/bin/clang
export LLD=$PWD/compiler/llvm/build-linxisa-clang/bin/ld.lld
export QEMU=$PWD/emulator/qemu/build/qemu-system-linx64
# Or point to external toolchains:
# export CLANG=/path/to/clang
# export LLD=/path/to/ld.lld
# export QEMU=/path/to/qemu-system-linx64
bash tools/regression/run.sh
运行合约门:
python3 tools/bringup/check_avs_contract.py --matrix avs/linx_avs_v1_test_matrix.yaml
python3 tools/bringup/check_avs_profile_closure.py --matrix avs/linx_avs_v1_test_matrix.yaml --status avs/linx_avs_v1_test_matrix_status.json --tier pr
4.日常工作流程¶
- 在
docs/bringup/phases/下选择示波器。 - 首先在相关子模块/repo 中实现。
- 在本地运行 AVS + 回归门。
- 合并生态系统存储库中的上游。
- 修改
linx-isa中的子模块 SHA。
叶子仓修改完成、合入并验证后,只更新对应的固定 gitlink:
git -C compiler/llvm fetch origin <reviewed-commit>
git -C compiler/llvm checkout --detach <reviewed-commit>
git add compiler/llvm
git commit -m "chore(submodules): bump llvm revision"
Agent 工作流不得使用未固定提交的远端更新。
5. 规范路径- AVS 运行时测试:avs/qemu/¶
- AVS编译测试:
avs/compiler/linx-llvm/tests/ - AVS 使用的独立 libc 支持:
avs/runtime/freestanding/ - Linux libc 源代码分支:
lib/glibc/、lib/musl/ - Linx TileOP API 头文件:
tools/Linx-TileOP-API/include/ - PTO kernels 和 SuperNPU 工作负载:
workloads/pto_kernels/ - 组装样品包:
docs/zh/reference/examples/README.md
6. 协调参考¶
- 调出进度:
docs/bringup/PROGRESS.md - 合约检查点:
docs/bringup/AVS_CONTRACT.md - 渲染用户空间启动:
docs/bringup/rendering_vulkan_bringup.md - 规范门注册表:
docs/bringup/gate_registry.json - 导航指南:
docs/project/navigation.md