Skip to main content

Programming language for writing efficient custom operators with native support for Python standard specifications

Project description

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的使用过程,请访问如下文档获取简易教程。

  • 构建:介绍搭建环境、编译执行、本地验证。
  • 样例执行:介绍如何端到端执行样例代码。

📖学习教程

若您希望深入体验项目或参与项目贡献,请访问如下文档获取详细教程。

💻 软硬件配套说明

pyasc所需的软硬件环境依赖如下:

不同pyasc发行版可支持的硬件平台及所需的CANN版本如下表:

pyasc社区版本 支持CANN包版本 支持昇腾产品
v1.1.0、v1.1.1 社区版8.5.0.alpha001及以上 Atlas A2训练/推理产品
Atlas A3训练/推理产品
v1.0.0 社区版8.5.0.alpha0018.5.0.alpha002 Atlas A2训练/推理产品
Atlas A3训练/推理产品

👥 合作贡献者

  • 哈尔滨工业大学苏统华老师团队、王甜甜老师团队

📝相关信息

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyasc-1.1.1-cp312-cp312-manylinux_2_31_x86_64.whl (12.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ x86-64

pyasc-1.1.1-cp312-cp312-manylinux_2_31_aarch64.whl (34.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ ARM64

pyasc-1.1.1-cp311-cp311-manylinux_2_31_x86_64.whl (12.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ x86-64

pyasc-1.1.1-cp311-cp311-manylinux_2_31_aarch64.whl (35.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ ARM64

pyasc-1.1.1-cp310-cp310-manylinux_2_31_x86_64.whl (12.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.31+ x86-64

pyasc-1.1.1-cp310-cp310-manylinux_2_31_aarch64.whl (35.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.31+ ARM64

pyasc-1.1.1-cp39-cp39-manylinux_2_31_x86_64.whl (12.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.31+ x86-64

pyasc-1.1.1-cp39-cp39-manylinux_2_31_aarch64.whl (35.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.31+ ARM64

File details

Details for the file pyasc-1.1.1-cp312-cp312-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for pyasc-1.1.1-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 76c0a0abbc857e9d2381801d0d1bf473142a533977ac5d436c95aebd57505557
MD5 d2b830b3b877be83677fbba5e3e78221
BLAKE2b-256 32d09ff3933a48049a64fe7f60056948d346c95ddcfa218e60c1b49ca8dda9eb

See more details on using hashes here.

File details

Details for the file pyasc-1.1.1-cp312-cp312-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for pyasc-1.1.1-cp312-cp312-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 014099c64fedc551c9f879290657fa9348f991064372a5893c7703a131a017c2
MD5 fc98d5642d519a7847da74c050663ca7
BLAKE2b-256 ad6cca5b8f3e9f2306855c95fef84e52993de52c127f02c4e62fb8433eadae31

See more details on using hashes here.

File details

Details for the file pyasc-1.1.1-cp311-cp311-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for pyasc-1.1.1-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 f720448ca932d32502ad282ee083f2284efd3ea919006c5c8a2aa3e1e3b8932a
MD5 f1a15a0a80bdc525acb213daaa5678fe
BLAKE2b-256 f92b3c61358085fe33b5da8ce5d4c47221127c1ee0de518c2b3888ad18cb7e6d

See more details on using hashes here.

File details

Details for the file pyasc-1.1.1-cp311-cp311-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for pyasc-1.1.1-cp311-cp311-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 3d28c56a94bd4820af3b54489f78bcf33a84e3d69417deb3a3d1461b34afe62d
MD5 f68fc7aa0432f990a4d3ac67a068a980
BLAKE2b-256 68530da6c4e3f879807f5257ebbbcdca8616f14c0de6cdcea282754584fee455

See more details on using hashes here.

File details

Details for the file pyasc-1.1.1-cp310-cp310-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for pyasc-1.1.1-cp310-cp310-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 17358fb7ddd5c7ba692b436e1a618d7248b3f54dbeb786ff731204a51a4b6b2d
MD5 92285343d409efe52f96542eb8c2114d
BLAKE2b-256 6fd674cbfc8adc99b00aeb1cbafde9da501e91a3b93ea9963f87ebc712a39192

See more details on using hashes here.

File details

Details for the file pyasc-1.1.1-cp310-cp310-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for pyasc-1.1.1-cp310-cp310-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 7078b6fb1aff8e7e32f6d16f5847e74dd897b0a779901c4b6e21e73ba0181408
MD5 82ee0c387356cf11d4cfbf2febf1f2ca
BLAKE2b-256 d6aa33843adecf0eb256a7aae0ed2a96acc7067a1381b6499062aa9c99c2bb75

See more details on using hashes here.

File details

Details for the file pyasc-1.1.1-cp39-cp39-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for pyasc-1.1.1-cp39-cp39-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 452c3af93892d11cae4542a6226f384f36521e65147da74ad966532d3ac3323c
MD5 cda3e4711c9f70e8c717e18b49f5c18c
BLAKE2b-256 a158a3d3f2b28413628a532e7f45547039850c4afec73e8f03e397d1e3aff8e2

See more details on using hashes here.

File details

Details for the file pyasc-1.1.1-cp39-cp39-manylinux_2_31_aarch64.whl.

File metadata

File hashes

Hashes for pyasc-1.1.1-cp39-cp39-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 f0a8418f4bd7e90e3c9fac8a8a09a2809ec20206a2365b4a3f38639939993211
MD5 606ec75cdb519dfcefafc1c056f7f275
BLAKE2b-256 e6c48606a1f9e10d5d06a133017fe23227840776d0575c89387bedaec65a150c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page