Feldman软件实现posits(通用数)与硬件浮点数速度对比问询
Posit(通用数)软件实现与硬件浮点数的性能相关结论
Michael Feldman提出的Posit(即“通用数”)实现方案相关公开报道一直有很高的行业关注度,针对你关心的基准测试和性能优势问题,现有公开信息可以给出明确结论:
- 目前已有多份公开的第三方基准测试结果,覆盖主流开源Posit软件实现(包括官方参考库
libposit、SoftPosit等),测试场景包含基础四则运算、常用数学函数、线性代数计算等通用数值计算任务,所有测试都在相同硬件环境下和原生IEEE 754浮点数做对标。 - 所有测试结果一致表明:纯软件实现的Posit运算没有任何速度优势,和当前CPU、GPU硬件原生支持的浮点数相比,性能差距在10倍到100倍不等:常规32位Posit的软件实现运算速度,仅能达到同环境下硬件原生FP32速度的1%到10%,涉及超越函数等复杂运算时,差距还会进一步拉大。
- 这个差距没有任何软件层面优化可以抹平:当前x86、ARM架构通用CPU,以及主流消费级、数据中心GPU,都没有在硬件指令集层面加入Posit的编解码、运算支持,所有Posit操作都需要靠通用指令逐位模拟,额外的位操作、分支判断开销是性能损失的核心来源。
Posit作为编程语言默认通用数系统的速度可能性
所有关于Posit速度优势的讨论,都必须建立在「硬件原生支持Posit运算指令」的前提上,纯软件实现不存在反超硬件浮点数的可能。
- 如果未来主流通用计算硬件把Posit运算纳入标准指令集,做到和当前IEEE 754浮点数同等级别的硬件优化,现有架构仿真数据显示:达到同等数值精度时,Posit需要的存储位宽比IEEE 754浮点数低20%到30%,同等晶体管预算下的运算吞吐量更高,同时更短的位宽还能提升缓存命中率、降低内存带宽压力,理论上可以拿到15%到40%的端到端数值计算性能收益,还能解决IEEE 754标准存在的NaN冗余、精度分布不合理、正负0不对称等固有缺陷。
- 目前已经有部分小众AI加速芯片、RISC-V第三方扩展指令集加入了原生Posit支持,但相关硬件的出货规模、软件生态成熟度还远达不到替代IEEE 754浮点数的程度,短期内没有把Posit作为通用编程语言默认数值类型的落地基础。
内容的提问来源于stack exchange,提问作者ylluminate
相关产品推荐
相关产品推荐

