当前位置: 首页 > news >正文

CANN/pyasc加法ReLU类型转换API

asc.language.basic.add_relu_cast

【免费下载链接】pyasc本项目为Python用户提供算子编程接口,支持在昇腾AI处理器上加速计算,接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc

asc.language.basic.add_relu_cast(dst: LocalTensor, src0: LocalTensor, src1: LocalTensor, count: int) → None

asc.language.basic.add_relu_cast(dst: LocalTensor, src0: LocalTensor, src1: LocalTensor, mask: int, repeat_times: int, repeat_params: BinaryRepeatParams, is_set_mask: bool = True) → None

asc.language.basic.add_relu_cast(dst: LocalTensor, src0: LocalTensor, src1: LocalTensor, mask: List[int], repeat_times: int, repeat_params: BinaryRepeatParams, is_set_mask: bool = True) → None

按元素求和,结果和0对比取较大值,并根据源操作数和目的操作数Tensor的数据类型进行精度转换。

对应的Ascend C函数原型

template <typename T> __aicore__ inline void AddReluCast(const LocalTensor<T>& dst, const LocalTensor<T>& src0, const LocalTensor<T>& src1, const int32_t& count);
template <typename T, bool isSetMask = true> __aicore__ inline void AddReluCast(const LocalTensor<T>& dst, const LocalTensor<T>& src0, const LocalTensor<T>& src1, uint64_t mask[], const uint8_t repeatTimes, const BinaryRepeatParams& repeatParams);
template <typename T, bool isSetMask = true> __aicore__ inline void AddReluCast(const LocalTensor<T>& dst, const LocalTensor<T>& src0, const LocalTensor<T>& src1, uint64_t mask, const uint8_t repeatTimes, const BinaryRepeatParams& repeatParams);

参数说明

  • dst:目的操作数。类型为LocalTensor,支持的TPosition为VECIN/VECCALC/VECOUT。
  • src0, src1:源操作数。类型为LocalTensor,支持的TPosition为VECIN/VECCALC/VECOUT。
  • count:参与计算的元素个数。
  • mask:用于控制每次迭代内参与计算的元素。
  • repeat_times:重复迭代次数。
  • params:控制操作数地址步长的参数。
  • is_set_mask: 是否在接口内部设置mask。

约束说明

  • 操作数地址对齐要求请参见 《Ascend C算子开发接口》 中的“通用说明和约束-通用地址对齐约束”。
  • 操作数地址重叠约束请参考 《Ascend C算子开发接口》 中的“通用说明和约束-通用地址重叠约束”。
  • 使用整个tensor参与计算接口符号重载时,运算量为目的LocalTensor的总长度。

调用示例

  • tensor高维切分计算样例-mask连续模式
    mask = 128 # repeat_times = 4,一次迭代计算128个数,共计算512个数 # dst_blk_stride, src0_blk_stride, src1_blk_stride = 1,单次迭代内数据连续读取和写入 # dst_rep_stride, src0_rep_stride, src1_rep_stride = 8,相邻迭代间数据连续读取和写入 params = asc.BinaryRepeatParams(1, 1, 1, 8, 8, 8) asc.add_relu_cast(dst, src0, src1, mask=mask, repeat_times=4, repeat_params=params)
  • tensor高维切分计算样例-mask逐bit模式
    mask = [uint64_max, uint64_max] # repeat_times = 4,一次迭代计算128个数,共计算512个数 # dst_blk_stride, src0_blk_stride, src1_blk_stride = 1,单次迭代内数据连续读取和写入 # dst_rep_stride, src0_rep_stride, src1_rep_stride = 8,相邻迭代间数据连续读取和写入 params = asc.BinaryRepeatParams(1, 1, 1, 8, 8, 8) asc.add_relu_cast(dst, src0, src1, mask=mask, repeat_times=4, repeat_params=params)
  • tensor前n个数据计算样例
    asc.add_relu_cast(dst, src0, src1, count=512)

【免费下载链接】pyasc本项目为Python用户提供算子编程接口,支持在昇腾AI处理器上加速计算,接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/785749/

相关文章:

  • CANN/pyto Pass模块功能总结
  • Python 爬虫高级实战:学术文献高效采集与整理
  • 利用Taotoken为内容生成平台动态选择高性价比模型
  • AI赋能优化算法:从LSTM、RL到GNN的智能选择与参数调优实践
  • CANN/ge: GE 图拆分特性分析
  • Docker化下载中心部署指南:集成Aria2、qBittorrent与Rclone的自动化方案
  • 使用curl命令快速测试Taotoken大模型API连通性与基础功能
  • CANN / pto-isa文档更新模式
  • 【新手放心进】Numpy 零基础超全入门教程,从安装到矩阵运算一站式学会
  • GE自定义算子IR实现开发指南
  • 数据就绪度:AI项目成功的隐形地基与可视化诊断实践
  • CEM算法出处 —— 交叉熵强化学习算法 —— 强化学习算法中经典的CEM算法
  • Python 爬虫高级实战:百亿级数据爬虫架构优化
  • 数字孪生与物联网安全:AI驱动的威胁检测与防御技术解析
  • 使用python在ubuntu上编写第一个调用taotoken多模型广场的脚本
  • CANN oam-tools运维工具集
  • 生成式AI如何重塑社会工程攻击与防御策略
  • 机考question2、question3
  • 从草图到3D:基于NeRF与生成式AI的智能设计工作流解析
  • 呼和浩特搬家机构最新推荐:专业搬家服务企业实力对比与选择指南 - 品牌策略师
  • 《深入浅出通信原理》连载081-085
  • CANN/ops-cv双线性插值调整算子
  • 不知道如何降AI率?2026年保姆级降AI提示词总结,教你分分钟去除aigc痕迹!
  • 为AI编程助手构建持久记忆层:amem架构解析与实战指南
  • 如何快速获取百度网盘提取码:终极智能解析工具完整指南
  • 如何3秒获取百度网盘提取码:开源智能工具实战指南
  • 2026全年度最新口碑见证!新疆旅行社哪家好靠谱?推荐新疆正规/纯玩无购物/小包团/跟团定制旅游地接社中旅!附新疆本地旅行社top2标杆排名对比!建议收藏! - 奋斗者888
  • CANN/ops-rand项目目录结构
  • 深度解析碧蓝航线智能自动化方案:解放双手的终极指南
  • CANN/metadef字符串转换函数