首页/新闻资讯/正文详情

147、MLIR的Block Floating Point(块浮点)表示

发布时间:2026/9/23 11:05:03 来源:云帆数科 栏目:资讯中心
147、MLIR的Block Floating Point(块浮点)表示
MLIR的Block Floating Point(块浮点)表示从一次定点数溢出说起上周调试一个AI加速器后端,模型跑在FPGA上,精度一直对不上。翻看中间表示,发现某个卷积层的权重被截断得面目全非——16位定点数,动态范围不够,小权重全被吞掉了。同事说“要不换FP32?”,但硬件资源吃紧,FP32乘法器面积翻倍,延迟也扛不住。这时候我想起MLIR里有个冷门但实用的东西:Block Floating Point(块浮点,简称BFP)。它不是IEEE754那种每个数带独立指数,也不是纯定点,而是把一组数共享一个指数,每个数只存尾数。听起来像定点数的变体,但动态范围能扩展好几个数量级。BFP在MLIR中的存在感MLIR的Dialect体系里,BFP没有像arith或linalg那样独立成派,而是藏在某些硬件后端Dialect的Type系统中。比如有些AI加速器Dialect会定义bfpe8m7, block_size=16这样的类型,意思是8位指数、7位尾数,每16个元素共享一个指数。为什么MLIR要支持这种“非标准”表示?因为硬件实现需要。纯定点数在层间传递时,如果激活值分布不均匀,要么溢出要么精度浪费。BFP相当于给每个小数据块配了一个“局部缩放因子”,比全局定点灵活,又比浮点省硬件。踩过的坑:共享指数的对齐问题第一次用BFP时,我天真地以为把一组数直接取最大指数就行。结果在MLIR的转换

相关推荐

Robot Framework API 使用指南:从命令行入口点到 `robot.api` 公共 API 的完整解读
Robot Framework API 使用指南:从命令行入口点到 `robot.api` 公共 API 的完整解读

测试RPA接口测试 【免费下载链接】robotframework Generic automation framework for acceptance testing and RPA 项目地址: https://gitcode.com/gh_mirrors/ro/robotframework 点击查看 免费下载 本篇技术指南基于仓库中 doc/api/index.rst 这一 API 文档入口&a… · 2026/9/23 11:04:50

搞懂晶格原理,3个高频面试题让你面试不再报错
搞懂晶格原理,3个高频面试题让你面试不再报错

搞懂晶格原理,3个高频面试题让你面试不再报错 打开 IDE 跑个测试,控制台瞬间刷满红字,StackTrace 长到根本划不到底。 你盯着那行 ClassCastException 或 NoSuchMethodError… · 2026/9/23 11:04:44

Go 夜读讨论实录:json.Unmarshal 后 interface{} 无法断言为结构体,用 json.RawMessage 延迟解析
Go 夜读讨论实录:json.Unmarshal 后 interface{} 无法断言为结构体,用 json.RawMessage 延迟解析

文档教程 【免费下载链接】night Weekly Go Online Meetup via Bilibili|Go 夜读|通过 bilibili 在线直播的方式分享 Go 相关的技术话题,每天大家在微信/telegram/Slack 上及时沟通交流编程技术话题。 项目地址: https://gitcode.… · 2026/9/23 11:04:43

王道征途面试突击:5个高频考点,新手避坑指南
王道征途面试突击:5个高频考点,新手避坑指南

王道征途面试突击:5个高频考点,新手避坑指南 官方文档太厚,翻两页就头晕,根本抓不住重点?这是大多数准备转行或跳槽开发岗新手的噩梦。别慌,今天这篇《王道征途》实战拆解,就是为你这种“时间紧、任务重”的选手准备的。我们不复述概念,直接上高频面… · 2026/9/23 13:24:07

Erlang/OTP 树莓派 3 交叉编译实战:基于 crosstool-ng 工具链与 otp_build 的完整流程
Erlang/OTP 树莓派 3 交叉编译实战:基于 crosstool-ng 工具链与 otp_build 的完整流程

编程语言语言运行时标准库编译器并发编程 【免费下载链接】otp Erlang/OTP 项目地址: https://gitcode.com/gh_mirrors/ot/otp 点击查看 免费下载 本文以 Erlang/OTP 官方 HOWTO 文档 HOWTO/INSTALL-RASPBERRYPI3.md 为骨架,系统讲解如何在 macOS&#… · 2026/9/23 13:24:07

PHPStan 错误 `parameter.notByRef` 详解:子类参数未按引用传递,如何修复并理解其原理
PHPStan 错误 `parameter.notByRef` 详解:子类参数未按引用传递,如何修复并理解其原理

开发工具代码质量静态分析 【免费下载链接】phpstan PHP Static Analysis Tool - discover bugs in your code without running it! 项目地址: https://gitcode.com/gh_mirrors/ph/phpstan 点击查看 免费下载 本文围绕 PHPStan 错误标识 parameter.notByRef 展开&a… · 2026/9/23 13:24:07

微信里怎么建群最佳实践:3步搞定源码级群聊创建逻辑
微信里怎么建群最佳实践:3步搞定源码级群聊创建逻辑

微信里怎么建群最佳实践:3步搞定源码级群聊创建逻辑 复制来的建群代码跑不通,报错信息一堆,完全不知道从哪下手调试?这是很多开发者在接入微信开放能力时最常见的痛点。别慌,这通常不是你的代码写得烂,而是对底层交互流程理解不够。今天咱们不聊虚的,… · 2026/9/23 13:23:55

3个实战项目吃透信息论与编码面试必问
3个实战项目吃透信息论与编码面试必问

3个实战项目吃透信息论与编码面试必问 你是不是也这样?Python 语法背得滚瓜烂熟,LeetCode 刷了几百题,但一提到“信息论”或者“编码原理”,脑子就一片空白。面试官问:“如果让你设计一个高效的文件压缩算法,你第一步该干什么?”你只… · 2026/9/23 13:23:36

LPDDR4/LPDDR4X信号完整性测试:探针、TDR与眼图分析实战
LPDDR4/LPDDR4X信号完整性测试:探针、TDR与眼图分析实战

简介:面向硬件测试与SI设计工程师的LPDDR4信号完整性专题文档,以docx格式提供一份完整测试指导。内容聚焦高速内存最关键的CK时钟与DQS数据选通信号,覆盖差分输入电压、输入斜率、单端信号判定、交叉点检查等基础项,并按LPDDR4规范… · 2026/9/23 13:23:36

3招搞定手机怎么下载微信面试难题实战项目解析
3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧
Win7无线热点配置工具源码解析:解决API失效的3个实战技巧

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧 Win7无线热点配置工具在Win10/11上跑不动?不是你的问题,是版本升级后 API 全变了。很多老项目里的 netsh wlan… · 2026/9/23 0:00:36

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码