下载
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

基本概念

表1 基本概念

概念

描述

标准自定义算子工程场景

参考Ascend C自定义算子开发指南的“算子调用 > 了解开发工程”章节,其对自定义算子工程的算子开发流程和步骤提供了详细描述。

核函数直调工程场景

参考Ascend C自定义算子开发指南的“算子调用 > 了解开发工程”章节,其对Kernel直调工程的算子开发流程和步骤提供了详细描述。

ops_adv工程场景

全称为cann-ops-adv算子工程,是基于昇腾硬件的融合算子库(ops表示算子,adv表示advanced)。

该工程的详细介绍请单击LINK阅读README.md。

内源框架工程场景

此类算子开发场景属于预留开发场景,开发者无需关注。

built-in算子工程场景

输入数据和标杆数据

使用Ascend C调测工具时,需要提供算子输入数据及标杆数据(Golden数据)。

  • 输入数据:固定shape算子运行时的输入数据,bin格式。
  • 标杆数据:根据输入数据计算出来的真值数据,用于与输出数据进行精度比对,bin格式。

输入数据和标杆数据可通过numpy生成,样例如下:

import numpy as np
def gen_data_simple():
    input_x = np.random.uniform(-100, 100, [8, 2048]).astype(np.float16)
    input_y = np.random.uniform(-100, 100, [8, 2048]).astype(np.float16)
    golden = (input_x + input_y).astype(np.float16)
    input_x.tofile("./input/input_x.bin")     # 通过numpy生成的随机输入数据x
    input_y.tofile("./input/input_y.bin")     # 通过numpy生成的随机输入数据y
    golden.tofile("./output/golden.bin")      # 根据输入计算出来的真值数据,即标杆数据

算子json配置文件

用于描述算子的输入、输出及属性信息,以json格式存储。该文件中的参数个数、顺序、数据类型等信息,必须与算子原型相匹配。

工具支持以下两种配置格式:

  • 固定输入/输出顺序的算子json配置:其输入/输出参数信息单独在inputs、outputs、attrs配置项中设置,不支持输入/输出参数交叉设置。推荐标准自定义算子工程场景的开发人员按此方式配置。
  • params归一格式的算子json配置:其输入/输出参数信息统一在params配置项中设置,解决了固定输入/输出格式不支持输入/输出参数交叉的场景。推荐核函数直调工程场景的开发人员按此方式配置。

Tiling

描述昇腾AI处理器上算子的输入/输出数据切分、分块计算、多核并行等策略,主要是为了满足片上存储限制和计算pipeline的需求,最大化计算并行性和数据局部性(data locality OR data reuse),从而发挥硬件的极致性能。

Profiling

Profiling性能分析工具,用于采集和分析运行在昇腾AI处理器上的AI任务各个运行阶段的关键性能指标。用户可根据输出的性能数据,快速定位软硬件性能瓶颈,提升AI任务性能分析的效率。详细内容参见性能分析工具使用指南

CAModel

CAModel(Cycle Accurate Model)仿真器主要用于生成算子性能仿真流水数据。通过在仿真器上运行算子kernel.o文件,并生成过程日志,进而得到算子仿真流水。

PIPE_ALL

指在核函数的每个操作指令中间插入pipe_all同步指令,一般用于NPU上板调测中检测是否有同步问题。

原地算子

一般是指原地更新操作类算子,即算子的输入和输出为同一地址,算子在计算完成后,把原有的输出结果直接覆盖在输入的地址上,以减少不必要的内存占用。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词