文件最后提交记录最后更新时间
25 天前
17 天前
16 天前
17 天前
17 天前
17 天前
17 天前
25 天前
25 天前
25 天前
18 天前
23 天前
25 天前
25 天前
23 天前
25 天前
25 天前
23 天前
README

CATLASS DSL

CATLASS DSL 是 CATLASS 的 Python 前端。它在 AscendNPU-IR 的基础上构建 TLA Dialect,将 Python 中描述的 TLA 操作降级为 MLIR,并由 AscendNPU-IR 工具链编译为可执行的核函数产物。

目前,CATLASS DSL 主要对 TLA 框架提供了DSL封装,可以使用tla.make_tensor等API来描述TLA操作,完成算子的实现。未来,我们将继续扩展CATLASS DSL,在全量支持TLA tensor抽象接口、矩阵向量计算等接口的基础之上,进行类似CATLASS 模板的封装,实现对齐CATLASS C++模板算子的开发体验。

文档

快速开始

安装 CATLASS DSL 并运行首个算子示例,请参阅快速开始

兼容性

CATLASS DSL 各版本支持的硬件平台及所需的最低 CANN 版本如下表:

CATLASS DSL 版本 最低支持 CANN 包版本 支持昇腾产品
当前 >= 9.1.0 Ascend 950PR / Ascend 950DT

软硬件环境要求:

  • CPU 架构:aarch64 / x86_64
  • 系统:CANN 支持的 Linux
  • 软件依赖:Python >= 3.10, < 3.14、CMake >= 3.28, < 4.0、Ninja >= 1.12、Clang / Clang++ >= 10(构建 AscendNPU-IR 时;推荐 19)、lld、lit、FileCheck 与 LLVM 配套、AscendNPU-IR feature/regbase@a07821269…

完整的环境要求与安装方式见环境准备

目录概览

python/tla_dsl/
├── 3rdparty/AscendNPU-IR/  # AscendNPU-IR 子模块
├── catlass/                # Python 前端与运行时
├── csrc/mlir/              # TLA Dialect 与编译器实现
├── docs/zh/                # 中文文档
├── docs/en/                # 英文文档
├── examples/               # 端到端示例
├── tests/                  # 单元、lit 与端到端测试
├── Dockerfile              # 开发环境镜像定义
├── build_docker_image.sh   # 镜像构建入口
├── build.sh                # 项目构建入口
└── requirements.txt        # 非 CANN Python 依赖