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),仅供参考

相关新闻

最新新闻

蓝桥杯国赛C/C++ B组真题深度解析:从质数筛法到动态规划优化

蓝桥杯国赛C/C++ B组真题深度解析:从质数筛法到动态规划优化

1. 项目概述:一次国赛真题的深度复盘之旅看到这个标题,相信很多正在备战蓝桥杯,尤其是目标国赛的C/C选手都会心头一紧。“国赛C/CB组”、“未完待续”,这几个关键词组合在一起,立刻勾勒出一幅充满挑战与求知欲的图景。…

2026/8/28 3:49:33
MCP-Bench评测实践:从零搭建工具调用型Agent评测环境

MCP-Bench评测实践:从零搭建工具调用型Agent评测环境

在实际 LLM 项目中,Agent 的能力边界往往不由模型参数单独决定,而是取决于它能不能在一连串不确定环境里稳定地把外部工具用起来。MCP-Bench 这类以“复杂真实世界任务”为对象的工具调用型 Agent 基准,正是为了回答这个问题而出现的&#xf…

2026/8/28 3:49:33
基于Python与Django的自动化Web漏洞扫描系统设计与实现

基于Python与Django的自动化Web漏洞扫描系统设计与实现

简介:Web应用安全检测是网络安全领域的基础实践,其核心原理在于模拟攻击者行为,通过自动化工具对目标应用进行深度探测与漏洞识别。在技术实现层面,Python因其丰富的生态库和简洁语法,成为构建此类安全工具的首选语言&…

2026/8/28 3:49:33
TOPSIS优劣解距离法:多指标决策与综合评价实战指南

TOPSIS优劣解距离法:多指标决策与综合评价实战指南

1. 项目概述:从“选择困难症”到科学决策每次做数学建模比赛,或者在工作中遇到需要从一堆方案里挑出最优解的时候,你是不是也常常陷入“选择困难症”?几个备选方案,各有优劣,A方案成本低但效果一般&#xf…

2026/8/28 3:49:33
数学建模竞赛全流程实战指南:从组队到论文的72小时生存手册

数学建模竞赛全流程实战指南:从组队到论文的72小时生存手册

1. 从零到一:我的数模竞赛心路与认知重塑 去年这个时候,我大概和你一样,对“数学建模”这四个字既充满好奇又心怀忐忑。它听起来高大上,像是数学、编程和论文写作的“缝合怪”,但又不知道具体该怎么下手。经过一整年从…

2026/8/28 3:49:33
C++期末复习指南:面向对象核心、内存管理与高频考点解析

C++期末复习指南:面向对象核心、内存管理与高频考点解析

1. 项目概述:一份能“救命”的C期末复习指南又到了期末季,对于大一下学期刚接触C这门“硬核”语言的同学们来说,面对厚厚的教材和零散的笔记,是不是感觉有点无从下手?指针、引用、类、继承、多态……这些概念听起来就让…

2026/8/28 3:44:32