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

CANN/pypto循环展开函数文档

pypto.loop_unroll

【免费下载链接】pyptoPyPTO(发音: pai p-t-o):Parallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto

产品支持情况

产品是否支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品

功能说明

pypto.loop_unroll是一个支持循环展开的循环迭代器函数,功能与pypto.loop类似,增加了unroll_list参数支持多个展开方式。

函数原型

loop_unroll(*args, **kwargs) -> Iterator[Tuple[SymInt, int]]

参数说明

参数名输入/输出说明
*args输入三个可选参数,分别为循环起始值(start),循环结束值(stop),循环步长(step),有以下三种写法:
- 单参数形式:stop(SymInt),起始值默认为0,步长默认为1。等价于:loop_unroll(0, stop, 1)
- 双参数形式:start(SymInt),stop(SymInt),等价于loop_unroll(start, stop, 1)
- 三参数形式:start (SymInt),stop(SymInt),step(SymInt),等价于loop_unroll(start, stop, step)
**kwargs输入- name(str):循环标识名称,默认生成f"loop_{loop_idx}"。
- idx_name(str): 循环索引变量的名称,默认生成f"loop_idx_{loop_idx}"。
- unroll_list(List[int]): 需要展开unroll的循环层数集合,默认为空集合。loop会提供等于该集合长度的几种展开方式,展开次数为n时,循环步长会变成step*n,每次迭代会执行n次循环体。每种展开次数会生成不同的代码路径。
- submit_before_loop(bool): 是否在循环开始前提交计算,默认为False。开启后会在循环开启前强制提交当前累积的计算任务到AICore执行。

返回值说明

返回一个迭代器,每次迭代产生一个元组(idx, unroll_factor),idx表示当前循环的索引值,unroll_factor标识当前选择的展开方式。

约束说明

  • 展开因子列表会被排序并去重,且总是包含 1
  • 展开因子按从大到小排序
  • 每个展开因子会生成一个子循环
  • 多层循环使用了loop_unroll并且配置unroll_list,会大大增加编译出的图数量,影响编译性能

调用示例

for _ in pypto.loop_unroll(0, 10, 1, name="LOOP_L0_bIdx_mla_prolog", idx_name="b_idx", unroll_list=[1, 2, 4]): ...

【免费下载链接】pyptoPyPTO(发音: pai p-t-o):Parallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto

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

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

相关文章:

  • 腾耀文旅创新“新模式邀约+旅游+会议+激活老会员”模式 赋能企业高效增长,为企业量身打造第二增长曲线
  • AI驱动智能交通:从数据融合到智能决策的工程实践
  • TropicClaw:基于Bash的命令行工具框架开发实践
  • ChatGPT在术语编纂中的应用:AI辅助定义生成与挑战
  • 深度解析Claude Code架构:从LLM工具系统到四层记忆模型设计
  • IDEA 连接 MySQL 数据库保姆级教程
  • Cortex-R7 FPGA实现与调试系统设计解析
  • CANN/hixl A3芯片性能数据
  • GHPT:基于记忆与规划的智能代码生成框架深度解析
  • 事件相机与稀疏3D卷积技术解析及无人机检测应用
  • 构建可信AI食品系统:技术、伦理与治理的跨学科实践
  • CANN/ascend-transformer-boost自定义算子开发指南
  • 告别物理串口线:com0com虚拟串口驱动全方位实战指南
  • Tracciatto:基于rdbg的Ruby调试环境增强套件详解
  • LangGraph:构建复杂AI工作流与有状态智能体的图计算框架
  • AI应用落地实战:从算法选型到工程部署的可持续架构
  • ARM汇编器FPU配置与性能优化指南
  • Arm CoreLink SSE-200安全架构与寄存器配置详解
  • React自定义光标组件cursorify:从原理到实战的完整指南
  • SpringBoot+Vue 在线招投标系统管理平台源码【适合毕设/课设/学习】Java+MySQL
  • AI增强型本地优先路线图规划器:可视化思维与智能协作
  • 如何用scrapy-pinduoduo构建电商数据智能分析管道
  • 基于Pix2Pix GAN的火山灰云卫星图像智能分割方法研究
  • kill-doc:浏览器文档下载神器,告别付费墙和登录限制
  • 开源TTS工具在低资源语言中的实战评估与优化
  • CANN/hcomm:获取组内rank ID
  • 使用Taotoken后API调用延迟稳定且账单清晰可追溯的实际感受
  • 基于大语言模型的科学实验报告自动评估系统设计与实践
  • SPI可编程死区+故障状态回读:STGAP1BSTR的智能化驱动配置方案
  • 双非拿下美团大模型Offer!我的面试复盘与血泪建议,小白也能看懂并收藏!