是否可以使用 gcc 提高浮点运算的精度?
一些用 C 编写的程序进行大量浮点计算,在 PC Linux 机器上得到正确的结果,但在单元处理器的 SPE 上得到错误的结果,但在单元的 PPU 上却得不到错误的结果。我正在使用 gcc 编译器。我想知道是否有一些 gcc 编译选项来增加舍入方法或类似方法,以便我获得更高精度的单浮点精度计算。我无法更改为双倍,因为 SPE 性能会急剧下降,
谢谢
some program in C which does extensive floating point calculations get right results on a pc linux box, but wrong results on the SPE of the cell processor, but not on the PPU of the cell. I am using gcc compilers. I wonder if there is some gcc compilation option to increase rounding method or similar so I get single float precision calculations with more precision. I can not change to double, as on the SPE performance would drastic reduce
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
基于 IBM SPU 上与 IEEE 754 的差异的文档,它可以是任意数量的东西:
当然,在相关页面上, 您还可以编译 SPU 代码以严格符合 IEEE:
Based on the IBM documentation for the differences from IEEE 754 on the SPU, it could be any number of things:
Of course, on a related page, you can also compile SPU code for strict IEEE conformance: