- [2025/11] pyasc项目首次上线。
pyasc是一种用于编写高效自定义算子的编程语言,原生支持python标准规范。基于pyasc编写的算子程序,通过编译器编译和运行时调度,运行在昇腾AI处理器上。
pyasc编程接口与Ascend C类库接口一一对应,旨在提供与Ascend C接口相同的编程能力,目前正逐步开放中。有关pyasc编程接口的支持范围和约束,请参考Ascend C API。对于编程所需的抽象硬件架构和编程模型的相关知识,请参考《Ascend C算子开发》。本项目支持的AI处理器包括:Ascend 910C、Ascend 910B。
关键目录如下:
├── bin # 工具文件
├── docs # 说明文档
│ ├── figures # 文档图片
│ └── python-api # API接口文档
├── include # 后端头文件和td文件
│ └── ascir ## ascir头文件和td文件
├── lib # 后端源文件
│ ├── Dialect ## mlir方言定义源文件
│ ├── TableGen ## tablegen扩展代码文件
│ └── Target ## mlir目标代码转换源文件
├── python # python前端代码
│ ├── asc ## 用户可见的python包,对外发布的wheel包中以此目录为主,其他代码则按需打包
│ ├── src ## pybind相关代码,cpp格式
│ ├── test ## python格式的测试用例集
│ └── tutorials ## 供用户参考的样例集
└── test # 后端的测试用例集
├── Dialect ## mlir方言定义模块测试用例
├── Target ## mlir目标代码转换模块测试用例
└── tools ## 后端工具相关测试用例若您希望快速体验pyasc的使用过程,请访问如下文档获取简易教程。
若您希望深入体验项目或参与项目贡献,请访问如下文档获取详细教程。
- API列表:介绍项目提供的Ascend C Python API信息,方便快速查询。
- 调试调优:介绍常见的算子调试和调优方法。
- pyasc模块与架构:介绍pyasc的模块与架构。
- Ascend C Python编程接口开发指南:介绍如何开发Ascend C API的Python编程接口。
- pyasc的python语法支持情况说明:介绍pyasc项目支持和不支持的python语法。
- API文档自动生成工具使用指南:介绍本项目接口文档的生成方法。
- 哈尔滨工业大学苏统华老师团队、王甜甜老师团队