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 社区版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.0-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.0-cp312-cp312-manylinux_2_31_aarch64.whl (34.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.31+ ARM64

pyasc-1.1.0-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.0-cp311-cp311-manylinux_2_31_aarch64.whl (35.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.31+ ARM64

pyasc-1.1.0-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.0-cp310-cp310-manylinux_2_31_aarch64.whl (35.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.31+ ARM64

pyasc-1.1.0-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.0-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.0-cp312-cp312-manylinux_2_31_x86_64.whl.

File metadata

File hashes

Hashes for pyasc-1.1.0-cp312-cp312-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 7158e38a43e63c40cc99cb2edfc50f79010b715b144e2aafe46b6191a62906b4
MD5 7bb4d5a28a71ae7b04625894b55a7515
BLAKE2b-256 d5c202dfaf6b32d008dd156f38c01e887c54493758383767e62e58c4e9d421ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyasc-1.1.0-cp312-cp312-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 7cdd18d1112e9b67fb99077ca764e44b64424e3facea4d7391bce5f9aea4e609
MD5 556343bbea525354ade85407404fbf2a
BLAKE2b-256 e3ff6766456b3b975bd735951be76470d3b777e5d76d0dce4cbc49df8340411b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyasc-1.1.0-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 222b387f71371c46d57daf42d7b8f07d472e75fce8890bf7433ba6c5dfc9ee5d
MD5 99fda24d640520c7c2f6e8cb7f304d60
BLAKE2b-256 9252c8d9f2eb2af479d0afe964611876a375f68db8ebb6900bfe0a709183c8ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyasc-1.1.0-cp311-cp311-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 7a82b6eddc25b8b3aaf826f0b83b43b2655a596fe294271792f14b07e491f938
MD5 5f69672a6c8e5177658d9378ddde886e
BLAKE2b-256 e22f954f909208a9da62553266689b4d0cc86fcbb4020fa98e87aad390850c9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyasc-1.1.0-cp310-cp310-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 62f885f08d701c874db633dbd986257bde03dba5d728015e68c19626622d04b1
MD5 8cb679bd2b3d510de46d82fd563f6665
BLAKE2b-256 fdc004ada9a46c340ed7d1ed5c371b128316576dda7e15196158ee0d26e7ad5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyasc-1.1.0-cp310-cp310-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 9a413767be36fae9c0cf3c7611532e48f593a30890d25fbba940400100c322ec
MD5 1cb9a0ddbcedb4554a8e79eb43e381fe
BLAKE2b-256 01b6c516cb902821dfe28a834cf0a54370b01c3b84aeccdb6567bd0c9ed75678

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyasc-1.1.0-cp39-cp39-manylinux_2_31_x86_64.whl
Algorithm Hash digest
SHA256 cba7ba6dce5d2bc919c191a01eef639f71607b21463b208cb47215b697c7dbf2
MD5 01216a6d743809596daee581010a5c4a
BLAKE2b-256 ad3e3bc69d0096ef4588016dddc1120abd33fd90becaea03d79167c3ea359845

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyasc-1.1.0-cp39-cp39-manylinux_2_31_aarch64.whl
Algorithm Hash digest
SHA256 05301bb84783817dc743fd8d2e8a178b654a207560359ee63e25c9071fd680b0
MD5 21ea205b59d7a0d9c844893139f005df
BLAKE2b-256 cc561fdc0ee3854ff073dc19144aa304bd30d51b6cce4ea5765df7a2f825a477

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