尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
172、MLIR的Deterministic(确定性)编译与调试
MLIR的Deterministic(确定性)编译与调试一个让我熬夜到凌晨三点的bug去年做AI加速器编译器的时候,遇到一个极其诡异的bug:同样的模型,同样的输入,连续跑两次推理,结果居然不一样。第一次输出[0.1, 0.2, 0.3],第二次变成[0.1, 0.2, 0.30000001]。差异在第三位小数,但客户那边做金融风控的,小数点后六位都不允许抖动。我第一反应是浮点精度问题,但检查了所有算子,都是标准的FP32。然后怀疑是随机数种子没固定,但模型里根本没有dropout或随机初始化。最后把目光投向MLIR编译流程——问题出在编译器的“非确定性”上。非确定性从哪里来MLIR的编译过程,本质上是一个多趟pass的流水线。每一趟pass都可能引入非确定性,常见的有这么几类:Pass调度顺序的不确定性。MLIR的pass管理器默认是多线程的,不同pass之间如果有依赖关系,但依赖声明不完整,就可能出现A pass在B pass之前或之后执行,产生不同的中间表示。我遇到的那个bug,就是某个优化pass在另一个pass之前执行时,会错误地折叠掉一个reshape操作,导致后续的buffer分配偏移了一个字节。内存分配地址的不确定性。MLIR的bufferization pass会把tensor映射到内存buffer。如果分配策略是“首次适应”或“最佳适应”,不同运行环境下堆的初始状态不同,分配到的地址就不同。地址不同本身不是问题,但有些
RELATED

相关推荐

Transformers.js 自定义使用指南:模型本地化、离线运行与 ONNX 转换全配置

Transformers.js 自定义使用指南:模型本地化、离线运行与 ONNX 转换全配置

Transformers.js 自定义使用指南:模型本地化、离线运行与 ONNX 转换全配置 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: …

📅 2026/9/14 18:08:16
Grist 关系型电子表格:完整指南,3 步 Docker 跑起来

Grist 关系型电子表格:完整指南,3 步 Docker 跑起来

Grist 关系型电子表格:完整指南,3 步 Docker 跑起来 【免费下载链接】grist-core Grist is the evolution of spreadsheets. 项目地址: https://gitcode.com/GitHub_Trending/gr/grist-core 周五 17:30,老板要一份能交叉汇总的周报&am…

📅 2026/9/14 18:08:16
微电网鲁棒优化:Matlab实现与不确定性管理

微电网鲁棒优化:Matlab实现与不确定性管理

1. 项目概述微电网作为分布式能源系统的重要组成部分,正在全球范围内快速发展。这个项目聚焦于解决微电网运行中最具挑战性的问题——如何应对可再生能源发电和负荷需求的双重不确定性。传统优化方法往往依赖于精确预测,而现实中光伏、风电等可再生能源的…

📅 2026/9/14 18:03:16
MORE NEWS

更多资讯

📰

Windmill 品牌与设计系统指南:从视觉规范到前端实现的设计语言

Windmill 品牌与设计系统指南:从视觉规范到前端实现的设计语言 【免费下载链接】windmill Open-source developer platform to power your entire infra and turn scripts into webhooks, workflows and UIs. Fastest workflow engine (13x vs Airflow). Open-sourc…

📰

TigerBeetle Java 多笔两阶段转账实战:从 pending 预留到交替 post/void 的余额验证

TigerBeetle Java 多笔两阶段转账实战:从 pending 预留到交替 post/void 的余额验证 【免费下载链接】tigerbeetle The financial transactions database designed for mission critical safety and performance. 项目地址: https://gitcode.com/GitHub_Trending/…

📰

172、MLIR的Deterministic(确定性)编译与调试

MLIR的Deterministic(确定性)编译与调试 一个让我熬夜到凌晨三点的bug 去年做AI加速器编译器的时候,遇到一个极其诡异的bug:同样的模型,同样的输入,连续跑两次推理,结果居然不一样。第一次输出[0.1, 0.2, 0.3],第二次变成[0.1, 0.2, 0.30000001]。差异在第三位小数,…

📰

Transformers.js 自定义使用指南:模型本地化、离线运行与 ONNX 转换全配置

Transformers.js 自定义使用指南:模型本地化、离线运行与 ONNX 转换全配置 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: …

📰

Grist 关系型电子表格:完整指南,3 步 Docker 跑起来

Grist 关系型电子表格:完整指南,3 步 Docker 跑起来 【免费下载链接】grist-core Grist is the evolution of spreadsheets. 项目地址: https://gitcode.com/GitHub_Trending/gr/grist-core 周五 17:30,老板要一份能交叉汇总的周报&am…

📰

微电网鲁棒优化:Matlab实现与不确定性管理

1. 项目概述微电网作为分布式能源系统的重要组成部分,正在全球范围内快速发展。这个项目聚焦于解决微电网运行中最具挑战性的问题——如何应对可再生能源发电和负荷需求的双重不确定性。传统优化方法往往依赖于精确预测,而现实中光伏、风电等可再生能源的…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬