news 2026/5/10 2:31:40

CANN/pypto循环展开函数文档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 2:30:40

使用curl命令快速测试Taotoken平台不同模型的响应效果

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用curl命令快速测试Taotoken平台不同模型的响应效果 基础教程类,本文面向需要在无SDK环境或进行快速验证的开发者&am…

作者头像 李华
网站建设 2026/5/10 2:29:41

基于大语言模型的代码仓库自动化文档生成框架RepoAgent实战指南

1. 项目概述:当大模型遇上代码仓库,如何实现文档的“自动驾驶”?接手一个新项目,最头疼的是什么?对我而言,除了理解复杂的业务逻辑,就是面对一个庞大但文档稀疏、甚至过时的代码仓库。你需要在成…

作者头像 李华
网站建设 2026/5/10 2:26:43

ChatLLM:本地化大语言模型应用框架开发指南

1. 项目概述:ChatLLM,一个面向开发者的本地化大语言模型应用框架如果你正在寻找一个能让你快速将各种大语言模型(LLM)集成到本地应用,特别是基于私有知识库进行智能问答的工具,那么ChatLLM这个项目值得你花…

作者头像 李华
网站建设 2026/5/10 2:25:01

从多模态ChatGPT到共生AI:构建能“感同身受”的智能伙伴

1. 项目概述:当AI开始“感同身受”最近和几位做认知科学和人机交互的朋友聊天,大家不约而同地提到了一个趋势:我们与AI的交互,正从冷冰冰的指令-应答模式,向一种更温暖、更“懂你”的伙伴关系演进。这背后的关键&#…

作者头像 李华
网站建设 2026/5/10 2:24:24

CoolRunner-II CPLD非标准I/O电压应用指南

1. CoolRunner-II CPLD非标准I/O电压应用解析在嵌入式系统设计中,经常会遇到不同电压域器件互联的场景。Xilinx CoolRunner-II系列CPLD以其灵活的I/O架构,为工程师提供了处理非标准I/O电压的解决方案。本文将基于官方白皮书WP228的技术细节,结…

作者头像 李华
网站建设 2026/5/10 2:19:47

TropicClaw:基于Bash的命令行工具框架开发实践

1. 项目概述:一个命令行工具的诞生与价值在开发者的日常工作中,我们常常会面对一些重复、繁琐但又至关重要的任务。比如,你需要定期检查一批远程服务器的日志,看看有没有特定的错误关键词出现;或者,你需要从…

作者头像 李华