CANN技能库Scope方言文档 Scope 方言【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills1. 概述Scope 方言提供区域作用域抽象用于将操作分组到逻辑作用域中。Scope 操作可携带计算核心类型如 CUBE/VECTOR等属性并支持 inline 和 outline 两种变换策略。方言名称scopeC 命名空间::mlir::scope源码参考ScopeOps.td、Passes.td2. 操作定义2.1 scope.scope功能表示一个区域作用域内部操作作为一个整体执行。可携带属性如tcore_type标记计算核心类型。操作签名操作数/结果类型说明no_inlineUnitAttr标记该作用域不可内联resultsVariadicAnyType作用域返回值$regionSizedRegion1作用域区域TraitsRegionBranchOpInterfaceNoRegionArgumentsSingleBlockImplicitTerminatorscope::ReturnOpSingleBlockRecursiveMemoryEffectsMLIR 示例scope.scope : () - () { scope.return } {tcore_type #hivm.tcore_typeCUBE} scope.scope : () - () { scope.return }带有no_inline属性的作用域不会被inline-scopePass 内联scope.scope : () - () { scope.return } {no_inline}2.2 scope.return功能作为scope.scope区域的终止操作返回作用域的计算结果。操作签名操作数类型说明resultsVariadicAnyType返回值TraitsHasParentScopeOpPureReturnLikeTerminatorMLIR 示例scope.return scope.return %val1, %val2 : f32, i643. 变换 Pass3.1 outline-scope属性值Pass 名称outline-scope作用域ModuleOp构造函数mlir::scope::createOutlineScopePass()依赖方言mlir::func::FuncDialect功能将scope.scope转换为独立的func.func并将作用域属性如tcore_type转移到新函数上。变换示例输入module { func.func test() { scope.scope : () - () { ... scope.return } {tcore_type #hivm.tcore_typeCUBE} scope.scope : () - () { ... scope.return } {tcore_type #hivm.tcore_typeVECTOR} return } }输出module { func.func test_scope_0() attributes {tcore_type #hivm.tcore_typeCUBE} { ... return } func.func test_scope_1() attributes {tcore_type #hivm.tcore_typeVECTOR} { ... return } func.func test() { call test_scope_scope_scope_0() : () - () call test_scope_scope_scope_1() : () - () return } }3.2 inline-scope属性值Pass 名称inline-scope作用域ModuleOp构造函数mlir::scope::createInlineScopePass()选项选项类型默认值说明force-inlineboolfalse强制内联忽略no_inline属性功能将scope.scope区域内的操作提升到父区域除非作用域标记了no_inline属性。变换示例输入func.func test() { scope.scope : () - () { ... scope.return } {no_inline} scope.scope : () - () { inlinable_operations scope.return } return }输出func.func test() { scope.scope : () - () { ... scope.return } {no_inline} inlinable_operations return }4. 典型使用场景计算核心类型标注通过tcore_type属性标记作用域在 CUBE 或 VECTOR 核心上执行VFVector Function划分将计算图划分为多个 Scope每个 Scope 对应一个向量化函数编译流程控制no_inline属性确保某些作用域在编译流程中保持独立【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

GTC泽汇资本:把产品理解成本做到位——路径拆解与提示整理

GTC泽汇资本:把产品理解成本做到位——路径拆解与提示整理

在外汇相关服务里,GTC泽汇资本是否值得长期关注,往往取决于几个清晰的体验点:说明是否好理解、提示是否到位、流程是否连贯、支持是否稳定。下面从这些维度对GTC泽汇资本做一次正向梳理与要点归纳。外汇相关信息更新频繁,平台将关…

2026/7/11 21:32:04
OpCore-Simplify:15分钟完成黑苹果EFI配置的终极图形化工具

OpCore-Simplify:15分钟完成黑苹果EFI配置的终极图形化工具

OpCore-Simplify:15分钟完成黑苹果EFI配置的终极图形化工具 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹果OpenCore配…

2026/7/11 21:32:04
系统装好了,高拍仪等外设却“罢工”?这个老大难终于有解了

系统装好了,高拍仪等外设却“罢工”?这个老大难终于有解了

电脑换了,系统装了,结果高拍仪不识别、扫描仪连不上。这是当下很多政企单位在国产化道路中真实遭遇的困难现场。外设驱动适配不全,轻则导致业务中断,重则让项目验收遥遥无期。如何让存量外设在新系统上重新“上岗”?大…

2026/7/11 21:32:04
解决设备状态黑盒:注塑机数据采集从现场实施到报表生成

解决设备状态黑盒:注塑机数据采集从现场实施到报表生成

解决设备状态黑盒:注塑机数据采集从现场实施到报表生成 在制造业数字化转型的浪潮中,许多企业迈出的第一步往往受阻于“数据获取难”这一基础环节。特别是在注塑行业,由于设备品牌繁杂、控制器型号各异以及车间环境复杂,传统的数…

2026/7/11 21:32:04
TEL 2L81-050174-V1 印刷电路板

TEL 2L81-050174-V1 印刷电路板

TEL 2L81-050174-V1 印刷电路板TEL 2L81-050174-V1 印刷电路板的核心特点如下:专为TEL(东京电子)刻蚀或沉积设备设计,非通用板卡。负责设备内部信号传输与电平转换。集成了低压电源的滤波与分配电路。采用专用连接器布局&#xff…

2026/7/11 21:32:04
大厂裁员潮中暗藏机遇!收藏!AI大模型应用开发成高薪紧缺岗,小白也能抓住的财富密码!

大厂裁员潮中暗藏机遇!收藏!AI大模型应用开发成高薪紧缺岗,小白也能抓住的财富密码!

尽管大环境裁员消息不断,但AI公司如DeepSeek却逆势扩招,凸显选对赛道的重要性。AI行业持续增长,大模型应用开发工程师成为高薪紧缺岗,薪资可达50k。该岗位需求旺盛,工作内容清晰务实,适合想切入AI赛道的技术…

2026/7/11 21:27:03

月新闻