昇腾社区首页
中文
注册
开发者
下载

简介

Triton是近年来广受开发者欢迎的一种Python化编程语言。开发者只需关注Tile/Block的切分方式及基于其上的运算逻辑,Triton编译器便能结合底层硬件特性,在编译过程中自动完成内存分配、数据搬运、计算调度和流水并行等复杂操作。因此,算子开发难度显著降低,开发效率大幅提升。

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

对于用户而言,将Triton算子集成到GE图中,可复用GPU训练时开发的Triton自定义算子,以最小成本将其纳入图执行流程,从而享受到图下沉带来的极致性能收益。

整图流程如下图所示。

该特性主要分为两个阶段:开发态和运行态:

  • 开发态:
    1. 用户需完成环境配置。详情请参见环境准备
    2. 将Triton算子kernel编译为对应的npubin文件。详情请参见生成npubin文件
    3. 开发入TensorFlow图的交付件。当前仅支持TensorFlow框架。
    4. 创建Triton算子入GE图交付件,该步骤包括创建算子入图工程、开发算子入图交付件、编译部署。详情请参见开发入GE图交付件
  • 运行态:用户可按照正常方式调用TensorFlow自定义算子,借助GE将模型解析为图,经过图编译、图执行等操作,即可充分利用图下沉机制,实现性能的显著提升。详情请参见结果验证