CATLASS TLA DSL 的 MLIR 自包含集成
CATLASS TLA DSL 的 MLIR 自包含集成以 CATLASS TLA DSL——一个面向 AI 加速器的执行式 DSL——为例,MLIR bindings 的集成方式可从「依赖外部 mlir 包」改造为「单一 wheel 自包含」,同时整条编译链路也随之收敛。MLIR 打包机制本身(三层架构、AddMLIRPython.cmake、私有命名空间、聚合 CAPI)见《MLIR Python Bindings 打包机制解析》。 一、既有集成方式的三个结构性问题改造前,MLIR bindings 的集成方式如下: 12345flowchart TD U1["用户环境"] -->|"额外依赖"| P1["pip install mlir<br/>(版本须与 DSL 内部 LLVM 完全一致)"] U1 --> P2["CATLASS TLA DSL 包"] P2 -->|"手工维护的绑定"| P3["独立脚本生成...
MLIR Python Bindings 打包机制解析
MLIR Python Bindings 打包机制解析LLVM 社区没有为 MLIR 的 Python 包提供稳定的发布渠道,任何想在 Python 进程里操作 MLIR IR 的项目都需要自行解决 bindings 的获取、集成与分发。MLIR 官方为此提供了一整套设施:三层架构、CMake 组装宏,以及若干关键机制。 一、问题定义:Python 层操作 IR 意味着什么在 Python 进程中构造与检查 MLIR IR,典型场景有两类: 执行式前端:DSL 调用 compile() 时实际执行用户的 Python 代码,边执行边通过 Python API 增量构造 IR,诊断信息需映射回用户源码行; 测试:直接断言方言 op 与类型。 此外,MLIR Python bindings 并非纯 Python 包,其底层依赖 pybind11 扩展与 C API 静态库。因此「分发」不仅是拷贝 .py 文件,而是一项完整的打包工程。 二、三层架构MLIR 的 Python 支持由三层组成,自上而下: 12345678910111213141516graph TD s...
CANN msopgen 工程架构:从算子原型到可编译工程的生成链路
Field Value Source Ascend/msopgen Version tag_MindStudio_26.2.0.B060_001 Commit dd96cdfb2768a89a063db4cee7c760d2c9c4870a Date 2026-09-08 CANN msopgen 工程架构:从算子原型到可编译工程的生成链路项目方向概览msopgen 是 CANN 体系中的 MindStudio Operator Generator,负责把算子原型描述和目标计算单元转换为可继续开发、编译和交付的自定义算子工程。它的命令入口支持三类职责:gen 生成或扩展算子工程,compile 编译已有算子工程,sim 解析模拟器流水线 dump 数据;三类命令由 msopgen/msopgen.py 统一分发。 msopgen 的核心不是一个算子编译器后端,而是一个工程生成器和交付前置层:它读取 JSON、Excel 或框架相关的算子信息,建立统一的算子描述对象,依据框架、计算单元和语言选择工程模板,再生成 Host、Kernel、配置、构...
PTO-ISA:面向昇腾 Tile 编程的虚拟指令集与实现体系
Field Value Source cann/pto-isa Version v9.2.0-beta.2-106-ga5c8d608 Commit a5c8d60850a531593dcd633b308d11d39db6363b Date 2026-09-08 PTO-ISA:面向昇腾 Tile 编程的虚拟指令集与实现体系项目方向概览PTO(Parallel Tile Operation) 是昇腾 CANN 体系中的 Tile 编程虚拟 ISA。仓库提供以 C/C++ 头文件为核心的 PTO Tile Library、按昇腾代际划分的后端实现、CPU 语义仿真/Stub、通信指令扩展、算子示例和 ISA 文档。 它解决的主要问题不是再封装一层普通算子 API,而是把算子开发中的 Tile 形状、有效区域、数据搬运、片上存储、事件同步、流水线和硬件指令映射,收敛为一个可以跨 Ascend A2/A3/A5 等代际复用的编程契约。上层框架或算子实现面向 PTO 指令组织代码,底层再按 SoC 选择不同实现...
PyPTO 技术路线与差异化竞争力
Field Value Source cann/pypto Version PyPTO 0.2.1 / CANN package 9.2.0 / v9.2.0-beta.2-322-g5d6afbe0d Commit 5d6afbe0dc470aaf692d23e4c3b73d5fa461acf5 Date 2026-09-07 20:00:38 +08:00 PyPTO 技术路线与差异化竞争力项目方向概览PyPTO 是面向昇腾 AI 处理器的高性能编程框架。它要解决的不是单个算子的 Python 包装,而是把 Tensor 级程序逐层编译成硬件感知的 Tile 程序:在 Tensor 语义仍然完整时决定切分、数据布局、存储层级、搬运、融合、乱序调度和同步,生成 CCE/PTO 源码,再交给 Bisheng 和 CANN 完成目标编译与执行。 项目形成了两条互补路线: 路线 面向用户 输入与决策方式 编译和执行路径 主 PyPTO 算法开发者、整图/融合算子开发者 Tensor 与 Pyth...
Triton-Ascend 技术路线与差异化竞争力
Source Version Commit Date triton-lang/triton-ascend 3.6.0 b64287188046fe7bb0cfd424ee3e389f96a7affa 2026-09-07 Triton-Ascend 技术路线项目方向概览Triton-Ascend 保留 Triton 的 Python DSL、JIT、specialization、cache 和 TTIR 前端,在 TTIR 之后建立 Ascend NPU 专属编译与执行体系: 12Python kernel → TTIR → structure/unstructure → Linalg/HIVM/HFusion → MLIR bytecode → BiShengIR → npubin → torch_npu + CANN ASTSource.make_ir() 生成 TTIR,compile() 发现后端,AscendBackend.add_stages() 装配普通 ttir → ttadapter → mlirbc → b...