panzerQ
光坂国中生
光坂国中生
  • 注册日期2026-03-15
  • 最后登录2026-04-07
  • 生日2004-1-1
  • 光玉10颗
阅读:6回复:0

关于桌面平台的浮点计算

楼主#
更多 发布于:2026-04-07 09:43
1. 对于浮点数的加法,结合律是不适用的,否则你不会看到那些避免"大数吃小数"的做法

2. Intel有一套x87指令集,支持80位扩展双精度浮点数,但是在现代x64 CPU上的支持度存疑。
感兴趣者可以阅读下面的讨论:
Did any compiler fully use Intel x87 80-bit floating point? - Retrocomputing Stack Exchange

这里有一个精确奇异值分解的C语言实现,有考虑到80位浮点,可以拿去测试一下:
C code implementing Singular Value Decomposition in Extended Double Precision Arithmetic

3. NVCC之类的编译器,在为GPU准备汇编指令时偏好使用FMA(混合乘加),
所以如果你把相同的逻辑分别喂给CPU和GPU,看到不一样的浮点数计算结果,是完全正常的。
对于N卡,除了架构白皮书里能见到的内容,还可补充阅读"某科学の黄仁勋公司"撰写的说明:
Introduction — Floating Point and IEEE 754 13.2 documentation

4. 一个有趣的项目,专注于提供浮点舍入模式"正确"的数学函数:
The CORE-MATH project
喜欢0 评分0
游客

返回顶部