ops-transformer:基于 CANN 的 transformer 类大模型进阶算子库

本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。

分支11Tags0
文件最后提交记录最后更新时间
8 个月前
6 个月前
6 个月前
6 个月前
6 个月前
6 个月前
6 个月前
6 个月前
6 个月前
6 个月前
6 个月前
6 个月前
6 个月前
6 个月前
7 个月前
8 个月前
7 个月前
7 个月前
6 个月前
6 个月前
11 个月前
7 个月前
7 个月前
6 个月前
7 个月前
6 个月前
8 个月前
6 个月前
6 个月前
7 个月前
6 个月前
11 个月前
6 个月前

ops-transformer

🔥Latest News

🚀概述

ops-transformer是CANN (Compute Architecture for Neural Networks)算子库中提供transformer类大模型计算的进阶算子库,包括attention类、moe类等算子,算子库架构图如下:

架构图

📝版本配套

本项目源码会跟随CANN软件版本发布,关于CANN软件版本与本项目标签的对应关系请参阅release仓库中的相应版本说明 。 请注意,为确保您的源码定制开发顺利进行,请选择配套的CANN版本与Gitcode标签源码,使用master分支可能存在版本不匹配的风险。

⚡️快速入门

若您希望从零到一了解并快速体验项目,请访问如下文档。可以先了解项目算子信息,再尝试算子调用、开发、贡献等操作。

  1. 算子列表:项目全量算子信息,方便快速查询。

  2. QuickStart:端到端快速上手指南,包括搭建环境、编译部署、算子调用/开发/调试调优、贡献等过程。

📖学习教程

若您已完成快速入门学习,对本项目有了一定认知,并希望深入了解和体验项目,请访问如下文档。

这些文档提供了多样化的场景介绍和更全面的操作指导,方便您应用于各种AI业务场景。

  1. 环境部署:搭建基础环境的指南,提供了多种场景下第三方依赖和软件包安装方法等。
  2. 算子调用:算子源码编译和执行指南,提供了不同场景下算子包编译(包括联网/未联网等)和算子运行的方法(包括执行算子样例和UT)等。
  3. 算子开发:基于本项目工程开发新算子的指南,提供了创建算子工程、实现Tiling和Kernel核心交付件等指导。
  4. 算子调试调优:提供了常见的算子调试和调优方法,如DumpTensor、msProf、Simulator等。

除了上述指南,还提供了其他文档介绍,例如算子调用方式和流程、算子基本概念等,全量文档介绍请访问docs

🔍目录结构

关键目录如下,详细目录介绍参见项目目录

├── cmake                          # 项目工程编译目录
├── common                         # 项目公共头文件和公共源码
├── attention                      # attention类算子
│   ├── flash_attention_score      # flash_attention_score算子所有交付件
│   │   ├── CMakeLists.txt         # 算子编译配置文件
│   │   ├── docs                   # 算子说明文档
│   │   ├── examples               # 算子使用示例
│   │   ├── op_host                # 算子信息库、Tiling、InferShape相关实现目录
│   │   ├── op_kernel              # 算子Kernel目录
│   │   └── README.md              # 算子说明文档
│   ├── ...
│   └── CMakeLists.txt             # 算子编译配置文件
├── docs                           # 项目文档介绍
├── examples                       # 端到端算子开发和调用示例
├── experimental                   # 用户自定义算子存放目录
├── ...
├── moe                            # moe类算子
├── posembedding                   # posembedding类算子
├── scripts                        # 脚本目录,包含自定义算子、Kernel构建相关配置文件
├── tests                          # 测试工程目录
├── CMakeLists.txt
├── README.md
├── build.sh                       # 项目工程编译脚本
├── install_deps.sh                # 安装依赖包脚本
└── requirements.txt               # 本项目需要的第三方依赖包

💬相关信息

🤝联系我们

本项目功能和文档正在持续更新和完善中,建议您关注最新版本。

项目介绍

本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。

定制我的领域