Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176
8000 GitHub - Ascend/triton-ascend: Triton adapter for Ascend. Mirror of https://gitee.com/ascend/triton-ascend
Nothing Special   »   [go: up one dir, main page]

Skip to content

Ascend/triton-ascend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

通知: 本项目已经正式迁移至 Gitcode 平台

Triton Ascend

Triton是近几年来受到开发者青睐的Python化编程语言。开发者仅需关注Tile/Block的切分方式以及基于Tile/Block的运算逻辑,编译器将在Triton代码的编译过程中结合底层硬件特点自动完成内存分配、数据搬运、数据计算、流水并行等,因此,算子的开发难度大幅降低、开发效率显著提升。

Triton Ascend是面向昇腾平台构建的Triton编译框架,旨在让Triton代码能够在昇腾硬件上高效运行。目前,Triton Ascend还在不断完善中,我们将不断提升Triton Python API完备度、数据类型支持度、访存方式灵活性等,并持续优化编译器的自动优化能力,提升Triton Ascend整体的功能与性能泛化性。

  • RoadMap

里程碑 重要 8000 性更新情况 状态
2025.05.20 Triton-Ascend开源,Gitee代码仓Alive! :tw-1f389:
2025.06.30 支持85% Triton Python API,支持连续访存,覆盖基本使用场景需求
2025.08.15 完善Atomic类Triton Python API支持,完成Flaggems开源仓重点Triton算子适配,提供Matmul等简单算子高性能实现参考用例 TODO
2025.09.30 完善Scan/Sort类Triton Python API,支持非连续访存,完成vLLM、sglang开源仓中重点Triton算子适配,提供FlashAttention等复杂融合算子高性能实现参考用例 TODO
  • 已支持平台

昇腾设备:Atlas 800T/I A2产品

主机CPU架构:x86/ARM

主机操作系统:Linux Ubuntu

帮助文档

欢迎广大开发者试用,但在您开始使用之前,建议您先根据您的开发需求浏览下列文档,希望能够帮助您快速上手!如果您在使用过程中遇到了问题,请您提交Issue反馈相关信息,我们将竭尽全力处理,感谢您的支持!

  • Triton Ascend 安装或编译

Triton Ascend还在频繁更新。为能使用最新功能特性,建议您拉取代码进行源码安装。详细安装步骤请参考 安装指南

  • Triton Ascend nightly包安装

我们为用户提供了每日更新的nightly包,用户可以方便的使用以下命令来安装。3.2.0是当前Triton的大版本号,请用户根据实际修改。

pip install -i https://test.pypi.org/simple/ "triton-ascend<3.2.0rc" --pre --no-cache-dir

同时用户也能在历史列表中找到所有的nightly包。

  • Triton Python API支持情况与约束

目前Triton Ascend已经使能了85%以上Triton社区官方提供的Python API,详细的功能支持情况(包括数据类型支持度、使用约束等)请参考 API 支持情况总览

  • Triton算子开发指南(入门级)

在昇腾平台上开发Trtion算子的方式与在GPU平台上基本相同。我们提供了下列算子的示例源码与配套说明来解释如何开发Triton算子的设备侧Kernel函数、主机侧调用代码以及算子功能验证代码。 此外,面向不同数据类型,我们提供了用于验证Triton算子精度的示例代码供大家参考:算子精度验证开发指南参考样例Python文件

算子名称 开发指南 可执行Python文件
VectorAdd VectorAdd开发指南 VectorAdd Python文件
Softmax Softmax开发指南 Softmax Python文件
LayerNorm LayerNorm开发指南 LayerNorm Python文件
FlashAttention FlashAttention开发指南 FlashAttention Python文件
Matmul Matmul开发指南 Matmul Python文件
  • Triton算子自动寻优指南(入门级)

Triton Ascend支持Triton原生的Autotune能力。通过对Tile/Block的形状配置进行搜索寻优,开发者可以在不改变Triton算子写法的条件下获得更优的性能。 此外,配合Triton Ascend编译器自有的自动优化算法,我们也额外提供了新的可调优参数,开发者可以按需选用。关于Triton算子自动寻优,详情请参考 Autotune性能寻优指南

  • 高性能Triton算子编程开发指南(进阶级)

为能获得更好的执行性能,除了利用Autotune之外,开发者在编写Triton算子时需要结合昇腾平台的软硬件特点进行开发。我们总结梳理了一些通用优化思路与方法,包括Tile/Block切分方式、高效访存方式以及如何与编译器开展协同优化等,详情请参考高性能Triton算子编程指南

  • 非昇腾平台Triton算子快速迁移指南

目前,许多开源仓已经提供了面向GPU等平台开发的Triton算子。因为昇腾平台在内存大小、运行时接口功能上与GPU等平台存在差异,将这些算子迁移到昇腾平台运行需要完成少量必要的代码修改,具体修改方法请参考非昇腾平台Triton算子迁移指南

  • 开源仓Triton算子适配与支持情况

我们也正逐步将主流开源仓中的GPU Triton算子适配到昇腾平台,当前已适配的算子请参见 已适配开源仓算子列表

  • Triton Ascend调试调优工具使用指南

为了简化用户编程难度,助力开发者低成本完成高性能算子开发,MindStudio算子开发工具已适配Triton算子调试调优。
1) msProf op: 算子性能调优工具,支持Triton算子上板性能数据采集、内存热力图、仿真流水图生成等,详情参考:MindStudio 算子性能调优工具使用参考
2) msSanitizer: 算子内存检测工具,支持Triton算子异常行为检测,包括内存、竞争、未初始化异常检测,可精准定位异常代码行,详情参考:MindStudio 算子异常检测工具使用参考

  • Triton Ascend环境变量

Triton Ascend支持Triton原生的环境变量,此外面向昇腾平台上的新功能特性进行了拓展。Triton Ascend涉及的全量环境变量,请参考 环境变量总览

  • Triton Ascend常见报错与应对方案问题

针对在开发或迁移Triton算子时经常遇到的报错信息与解决方案,我们正在汇总并梳理相关文档供大家参考。该文档正在开发中,将于近期发布,敬请期待。

安全声明

我们重视开发者在使用Triton Ascend时的信息安全,安全防护建议与相关信息请见 安全声明

0