Muls算子样例
【免费下载链接】atvossATVOSS(Ascend C Templates for Vector Operator Subroutines)是一套基于Ascend C开发的Vector算子库,致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。项目地址: https://gitcode.com/cann/atvoss
概述
样例概述:本样例介绍了利用ATVOSS实现Muls单算子并完成功能验证,重点展示了根据用户不同输入信息,选择不同Compute表达的运算过程
- Muls算子功能:实现一个Tensor和一个Scalar进行乘法运算
算子描述
算子数学计算公式: $$ \operatorname{Muls}(in, scalar)= {in * scalar} $$
算子参数:
| 参数名 | 输入/输出 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| in | 输入 | 公式中的Tensor输入。 | float、int32_t | ND |
| scalar | 输入 | 公式中的Scalar输入。 | float | ND |
| out | 输出 | 执行Muls运算后的输出Tensor。 | float | ND |
样例支持的产品
- Ascend 950PR/Ascend 950DT
目录结构
| 文件名 | 描述 |
|---|---|
| muls.cpp | Muls样例算子代码实现 |
| CMakeLists.txt | Muls样例算子的编译构建文件 |
| README.md | Muls样例算子的说明文档 |
Muls样例算子的编译和运行
- 编译 在代码仓根目录下执行:
bash scripts/build.sh -DSOC=ascend950 muls- 运行 在代码仓目录下执行:
output/bin/muls --help // 查看帮助 output/bin/muls --shape=16,32 // 运行样例【免费下载链接】atvossATVOSS(Ascend C Templates for Vector Operator Subroutines)是一套基于Ascend C开发的Vector算子库,致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。项目地址: https://gitcode.com/cann/atvoss
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考