CANNBot IR分析优化器

发布时间:2026/10/23 22:21:04

CANNBot IR分析优化器 IR 分析优化器【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills概述IR中间表示分析优化器通过提取编译器的最终阶段 IRlast_pass.mlir对 triton 脚本进行分析优化。当 IR 分析给出优化建议时智能体Agent必须首先检查对应的优化点是否已在之前的迭代中执行过已执行→ 重新根据IR分析结果执行优化。并诊断为何之前的优化未能产生预期的效果。之前未命中→ 根据IR分析结果执行优化并分析之前未命中原因。无对应的优化点→ 直接应用 IR 分析优化器的优化建议。IR 多轮迭代模式在 Phase 4 调用方triton-op-generator AGENTS.md开启 IR 多轮迭代后IR优化点 25允许多轮重复命中其他优化点单轮即过。每轮必须遵守每轮重新提取 IR必须重新执行run_and_extract.sh提取基于上一轮优化后代码的最新last_pass.mlir禁止复用历史 IR 快照。聚焦增量分析本轮 IR 分析应聚焦两件事 —— (a) 上一轮 IR 优化是否带来预期效果profiling 或 speedup 对比(b) 是否还有新的优化建议。返回字段latency-optimizer 在返回信息中给出ir_has_more_suggestions: bool。仅当本轮还能给出新建议时为true若 IR 分析已无新建议即上一轮已是相同结论、无新增优化空间返回falsePhase 4 调用方据此退出 IR 多轮迭代。退出条件达到ir_max_iterations默认 20或ir_has_more_suggestions false任一成立即结束 IR 多轮迭代。IR 提取使用skill_dir/scripts/run_and_extract.sh script_name.py来提取 IR 文件,并将提取到的IR文件保存到workspace/ir_output/kernel_name环境变量变量值用途TRITON_DEBUG1启用 IR 转储目录TRITON_ALWAYS_COMPILE1强制重新编译即使存在缓存TRITON_DISABLE_LINE_INFO0保留源代码行信息TRITON_DISABLE_FFTS1禁用 FFTS910_95 不支持此功能ASCEND_RT_VISIBLE_DEVICES${NPU_DEVICE:-2}选择 NPU 设备提取流程使用上述环境变量运行 Python 脚本以触发编译并转储 IR。解析 stdout 中的Dumping intermediate results to dir行。对于每个唯一的内核通过kernel.ttadapter.mlir中的内核名称去重运行bishengir-compile。脚本会自动探测当前编译器支持的 IR dump 参数优先级--mlir-print-ir-after-all--bishengir-print-ir-after--print-after-all也可通过环境变量BISHENGIR_PRINT_IR_FLAG强制指定。若使用--mlir-print-ir-after-all/--print-after-all输出中会有多个IR Dump After段落脚本提取最后一个。若使用--bishengir-print-ir-afterpass输出直接就是该 pass 后的 IR。从编译器输出中提取最后一个阶段的 IR。保存至IR_OUTPUT_DIR/kernel_name_last_pass.mlir。重要提示bishengir-compile会调用hivmc-a5作为子进程。bishengir 的 bin 目录必须位于$PATH中。如果缺失流程将在InjectIR处停止而不会继续到 LLVM IR。输出文件文件描述kernel_name_ttir.mlirTriton 前端 IR可选kernel_name_ttadapter.mlir适配器 IR可选kernel_name_last_pass.mlirBishengIR 最终阶段 IR必需中间文件的保存由IR_SAVE_TTIR、IR_SAVE_TTADAPTER和IR_SAVE_ALL控制。处理自动调优 (Autotune)当使用triton.autotune时会生成多个转储目录每个配置变体一个。脚本通过内核名称进行去重仅保留每个唯一内核的第一个配置变体。无论有多少个 autotune 配置每个内核最终只生成一个 IR 文件。Triton 缓存损坏编译阶段bishengir-compile的段错误通常是由 Triton 缓存中不兼容的预编译头引起的。在进一步调查之前请清除缓存rm -rf ~/.triton/cache/*IR 分析决策流程在做任何分析策略之前先仔细阅读以下文件获取 IR 分析优化相关指南主要参考流程→./docs_triton_IR/AGENTS.md支撑文件目录./docs_triton_IR/AscendNPU-IR/README.md./docs_triton_IR/docs_ascendnpu_ir/README.md./docs_triton_IR/docs_for_triton_agent/README.md./docs_triton_IR/docs_triton_ascend/README.md./docs_triton_IR/triton-ascend/README.md重要约束主要参考流程./docs_triton_IR/AGENTS.md中 性能分析指南的 步骤1IR分析主要和 知识库层级文档指引中的IR分析部分对生成的IR文件进行分析优化。 严禁在优化完成前使用msprof分析工具【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/21 2:58:59

WeMod专业版免费解锁:Wand-Enhancer完全指南

WeMod专业版免费解锁:Wand-Enhancer完全指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 还在为WeMod专业版的高昂订阅费而烦恼吗&#x…

2026/10/23 19:45:44

基于Amazon Bedrock AgentCore的企业级AI Agent构建与Token成本治理实践

在实际企业级 AI 应用开发中,单纯调用大模型 API 已经无法满足复杂业务需求。真正的挑战在于如何构建一个具备记忆、工具调用、多轮对话和安全隔离能力的生产级 AI Agent,同时还要解决多租户场景下的资源隔离、成本控制和运维可观测性问题。Amazon Bedro…

2026/10/23 22:16:57

韩国电子烟技术创新与监管挑战分析

1. 韩国电子烟市场现状与核心矛盾韩国作为全球电子烟渗透率最高的市场之一,其发展轨迹呈现出典型的"技术驱动-监管跟进-用户适应"三角关系。2023年数据显示,韩国成年吸烟者中电子烟使用率已达32.5%,远超全球15%的平均水平。这种爆发…

2026/10/23 22:16:57

研发团队机理分析能力提升的四大支柱体系

1. 研发团队机理分析能力提升的核心痛点去年给某生物制药企业做咨询时,他们的首席科学家给我看了组数据:在78个在研项目中,有43%的延期是由于机理分析阶段反复试错导致的。这让我意识到,机理分析能力已经成为制约研发效率的关键瓶…

2026/10/23 22:11:57

Python俄罗斯方块源码拆解:从二维数组到游戏主循环的工程实践

简介:这份资源是面向Python初学者与编程爱好者的俄罗斯方块游戏完整实现代码,适合想通过经典小游戏练习Python编程、理解游戏循环与事件处理逻辑的读者。压缩包共4个文件,约6MB,包含1个Python主程序文件、2个wav音效文件与1个mp3背…

2026/10/23 22:11:57

Windows下hiredis与Win32_Interop编译配置实战指南

简介:这份资源是专为 Windows 平台准备的 Redis 开发库,面向需要在 C/C 项目中集成 Redis 客户端能力的开发者,解决 Redis 原生面向 Linux、在 Windows 下编译困难的问题。压缩包共 20 个文件,以 lib 静态库、h 头文件、exe 与 dl…

2026/10/23 22:11:57

Abaqus二次开发实战:用Python内核脚本与GUI插件实现仿真自动化

简介:《Abaqus二次开发 内核与GUI应用实例详解》是一本面向结构仿真工程师、理工科院校师生的机械工业出版社技术书籍,聚焦Abaqus内核与GUI两大二次开发方向。全书共14章,前两章介绍二次开发概述与Python语言基础,随后分别讲解内核…

2026/10/22 11:29:28

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/23 0:02:26

Verilog实现FPGA密码锁:矩阵键盘与状态机设计实战

说实话,这几年接触了不少想入门FPGA的朋友,如果你问哪个项目能一口气把Verilog的核心基本功串起来,我通常会推荐电子密码锁。这个项目看着不起眼,却把矩阵键盘扫描、按键消抖、状态机设计、动态显示刷新、外设控制这些数字逻辑里的…

2026/10/23 0:02:26

数据服务监控运维实战:从指标体系到告警治理与故障排查

周末凌晨两点,手机震了。第一反应是“数据服务挂了”。打开电脑看了下,果然,某张核心报表的数据产出时间已经超过SLA两小时,下游三个业务方连着发来问询。这种场景,做过大数据运维的人都不会陌生。数据服务的监控与运维…

2026/10/23 0:02:26

FreeRTOS任务通知实战详解:内核原理、API与避坑指南

裸机编程切到RTOS之后,任务之间的通信和同步永远是躲不开的坎。前面聊过队列、信号量、互斥锁、事件组,这次把FreeRTOS任务通知(Task Notification)单独拎出来讲透。原因很简单:任务通知是FreeRTOS里最容易用错、也最容…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑