pyasc
🔥Latest News
- [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文档自动生成工具使用指南:介绍本项目接口文档的生成方法。
- PyAsc算子开发指南:介绍基于pyasc的Ascend C算子开发基本流程。
💻 软硬件配套说明
pyasc所需的软硬件环境依赖如下:
- 昇腾产品:Atlas A2训练/推理产品, Atlas A3训练/推理产品
- CPU架构:
aarch64/x86_64 - 系统:支持的Linux(进行兼容性查询)
- 软件依赖:
python3.9-3.12
不同pyasc发行版可支持的硬件平台及所需的CANN版本如下表:
| pyasc社区版本 | 支持CANN包版本 | 支持昇腾产品 |
|---|---|---|
| v1.1.0、v1.1.1 | 社区版8.5.0.alpha001及以上 | Atlas A2训练/推理产品 Atlas A3训练/推理产品 |
| v1.0.0 | 社区版8.5.0.alpha001、8.5.0.alpha002 | Atlas A2训练/推理产品 Atlas A3训练/推理产品 |
👥 合作贡献者
- 哈尔滨工业大学苏统华老师团队、王甜甜老师团队
📝相关信息
Metadata
Release files for pyasc 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| pyasc-1.1.1-cp312-cp312-manylinux_2_31_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.31+ x86-64 | Details |
| pyasc-1.1.1-cp312-cp312-manylinux_2_31_aarch64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.31+ ARM64 | Details |
| pyasc-1.1.1-cp311-cp311-manylinux_2_31_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.31+ x86-64 | Details |
| pyasc-1.1.1-cp311-cp311-manylinux_2_31_aarch64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.31+ ARM64 | Details |
| pyasc-1.1.1-cp310-cp310-manylinux_2_31_x86_64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.31+ x86-64 | Details |
| pyasc-1.1.1-cp310-cp310-manylinux_2_31_aarch64.whl | CPython 3.10 | CPython 3.10 | Linux glibc 2.31+ ARM64 | Details |
| pyasc-1.1.1-cp39-cp39-manylinux_2_31_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.31+ x86-64 | Details |
| pyasc-1.1.1-cp39-cp39-manylinux_2_31_aarch64.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.31+ ARM64 | Details |
Total release size: 192.5 MB
Release files / pyasc-1.1.1-cp312-cp312-manylinux_2_31_x86_64.whl
| Download URL | pyasc-1.1.1-cp312-cp312-manylinux_2_31_x86_64.whl |
|---|---|
| Size | 12.7 MB |
| Tags | CPython 3.12 Linux glibc 2.31+ x86-64 |
|
SHA-256 checksum How to use checksums |
76c0a0abbc857e9d2381801d0d1bf473142a533977ac5d436c95aebd57505557
|
|
BLAKE2b-256 checksum How to use checksums |
32d09ff3933a48049a64fe7f60056948d346c95ddcfa218e60c1b49ca8dda9eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.12
|
Release files / pyasc-1.1.1-cp312-cp312-manylinux_2_31_aarch64.whl
| Download URL | pyasc-1.1.1-cp312-cp312-manylinux_2_31_aarch64.whl |
|---|---|
| Size | 34.9 MB |
| Tags | CPython 3.12 Linux glibc 2.31+ ARM64 |
|
SHA-256 checksum How to use checksums |
014099c64fedc551c9f879290657fa9348f991064372a5893c7703a131a017c2
|
|
BLAKE2b-256 checksum How to use checksums |
ad6cca5b8f3e9f2306855c95fef84e52993de52c127f02c4e62fb8433eadae31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.12
|
Release files / pyasc-1.1.1-cp311-cp311-manylinux_2_31_x86_64.whl
| Download URL | pyasc-1.1.1-cp311-cp311-manylinux_2_31_x86_64.whl |
|---|---|
| Size | 12.7 MB |
| Tags | CPython 3.11 Linux glibc 2.31+ x86-64 |
|
SHA-256 checksum How to use checksums |
f720448ca932d32502ad282ee083f2284efd3ea919006c5c8a2aa3e1e3b8932a
|
|
BLAKE2b-256 checksum How to use checksums |
f92b3c61358085fe33b5da8ce5d4c47221127c1ee0de518c2b3888ad18cb7e6d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.12
|
Release files / pyasc-1.1.1-cp311-cp311-manylinux_2_31_aarch64.whl
| Download URL | pyasc-1.1.1-cp311-cp311-manylinux_2_31_aarch64.whl |
|---|---|
| Size | 35.5 MB |
| Tags | CPython 3.11 Linux glibc 2.31+ ARM64 |
|
SHA-256 checksum How to use checksums |
3d28c56a94bd4820af3b54489f78bcf33a84e3d69417deb3a3d1461b34afe62d
|
|
BLAKE2b-256 checksum How to use checksums |
68530da6c4e3f879807f5257ebbbcdca8616f14c0de6cdcea282754584fee455
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.12
|
Release files / pyasc-1.1.1-cp310-cp310-manylinux_2_31_x86_64.whl
| Download URL | pyasc-1.1.1-cp310-cp310-manylinux_2_31_x86_64.whl |
|---|---|
| Size | 12.7 MB |
| Tags | CPython 3.10 Linux glibc 2.31+ x86-64 |
|
SHA-256 checksum How to use checksums |
17358fb7ddd5c7ba692b436e1a618d7248b3f54dbeb786ff731204a51a4b6b2d
|
|
BLAKE2b-256 checksum How to use checksums |
6fd674cbfc8adc99b00aeb1cbafde9da501e91a3b93ea9963f87ebc712a39192
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.12
|
Release files / pyasc-1.1.1-cp310-cp310-manylinux_2_31_aarch64.whl
| Download URL | pyasc-1.1.1-cp310-cp310-manylinux_2_31_aarch64.whl |
|---|---|
| Size | 35.5 MB |
| Tags | CPython 3.10 Linux glibc 2.31+ ARM64 |
|
SHA-256 checksum How to use checksums |
7078b6fb1aff8e7e32f6d16f5847e74dd897b0a779901c4b6e21e73ba0181408
|
|
BLAKE2b-256 checksum How to use checksums |
d6aa33843adecf0eb256a7aae0ed2a96acc7067a1381b6499062aa9c99c2bb75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.12
|
Release files / pyasc-1.1.1-cp39-cp39-manylinux_2_31_x86_64.whl
| Download URL | pyasc-1.1.1-cp39-cp39-manylinux_2_31_x86_64.whl |
|---|---|
| Size | 12.7 MB |
| Tags | CPython 3.9 Linux glibc 2.31+ x86-64 |
|
SHA-256 checksum How to use checksums |
452c3af93892d11cae4542a6226f384f36521e65147da74ad966532d3ac3323c
|
|
BLAKE2b-256 checksum How to use checksums |
a158a3d3f2b28413628a532e7f45547039850c4afec73e8f03e397d1e3aff8e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.12
|
Release files / pyasc-1.1.1-cp39-cp39-manylinux_2_31_aarch64.whl
| Download URL | pyasc-1.1.1-cp39-cp39-manylinux_2_31_aarch64.whl |
|---|---|
| Size | 35.5 MB |
| Tags | CPython 3.9 Linux glibc 2.31+ ARM64 |
|
SHA-256 checksum How to use checksums |
f0a8418f4bd7e90e3c9fac8a8a09a2809ec20206a2365b4a3f38639939993211
|
|
BLAKE2b-256 checksum How to use checksums |
e6c48606a1f9e10d5d06a133017fe23227840776d0575c89387bedaec65a150c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.12
|