【免费下载链接】atvcATVC(Ascend C Templates for Vector Compute),是为基于Ascend C开发的典型Vector算子封装的一系列模板头文件的集合,可帮助用户快速开发典型Vector算子。项目地址: https://gitcode.com/cann/atvc
Edge算子样例
概述
样例概述:本样例介绍了利用ATVC实现自定义Edge单算子并完成功能验证
- 算子功能:自定义Edge计算的功能(一个元素的结果为周围相邻元素通过自定义计算得到的结果)
- 使用的ATVC模板:Pool
- 调用方式:Kernel直调
样例支持AI处理器型号:
- Ascend 910C
- Ascend 910B
算子描述
自定义Edge算子数学计算公式:
输入为二维数组:例如 x = [ x0, x1, x2, ... x3, x4, x5, ... x6, x7, x8, ...] y4 = min(abs(((x2 + x5 + x8) - (x0 + x3 + x6)) / 3), 255) 以此类推其他元素的计算结果。自定义Edge算子规格:
| 算子类型(OpType) | Edge | ||||
| 算子输入 | |||||
| name | width | height | data type | format | |
| x | 1023 | 2517 | float | ND | |
| 算子输出 | |||||
| z | 1023 | 2517 | float | ND | |
| 核函数名 | EdgeCustom | ||||
| 规格限制说明 | 当前模板只支持2维shape按16元素个数对齐、 TILE_LAYOUT{16, 16}、TILE_PADDING{8, 8, 1, 1}的场景 | ||||
目录结构
| 文件名 | 描述 |
|---|---|
| edge.cpp | 自定义Edge算子代码实现以及调用样例 |
算子运行
在ascendc-api-adv代码仓目录下执行:
cd ./ops_templates/atvc/examples bash run_examples.sh edge当前PoolOpTemplate暂不支持ATVC调试调优功能,相关功能待后续补充。
【免费下载链接】atvcATVC(Ascend C Templates for Vector Compute),是为基于Ascend C开发的典型Vector算子封装的一系列模板头文件的集合,可帮助用户快速开发典型Vector算子。项目地址: https://gitcode.com/cann/atvc
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考