gpt4 book ai didi

c++ - 检测浮点软件仿真

转载 作者:太空狗 更新时间:2023-10-29 19:54:34 27 4
gpt4 key购买 nike

我正在开发一个运行时速度比精度更重要的应用程序。数字运算涉及浮点运算,我担心 double 和/或 long double 在软件中处理而不是在处理器上本地处理(这在处理器上总是正确的) 32 位拱门对吗?)。我想有条件地使用硬件支持的最高精度进行编译,但我还没有找到一种快速简便的方法来检测软件仿真。我在 GNU/Linux 上使用 g++,我不关心可移植性。它在 x86 arch 上运行,所以我假设 float 始终是 native 的。

最佳答案

现代 x86 上的浮点单元 (FPU) 本身是 double 的(事实上,它甚至比 double 更大),而不是 float (32 位中的“32”描述的是整数寄存器宽度,而不是 float 宽度)。但是,如果您的代码正在利用矢量化 SSE 指令(并行执行 4 个单运算或 2 个双运算),则情况并非如此。

如果不是,那么通过将您的应用程序从 float 切换到 double 来实现的主要速度将体现在增加的内存带宽中。

关于c++ - 检测浮点软件仿真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5914484/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com