问题标签 [fpu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
861 浏览

c++ - 如何在 MacOSX 上的 C++ 中设置双精度?

我正在尝试移植 _controlfp( _CW_DEFAULT, 0xffffffff ); 从 WIN32 到 Mac OS X / Intel。我完全不知道如何移植这个指令......你呢?谢谢!

0 投票
1 回答
432 浏览

linux - 如何在信号处理程序中更改 FPU 上下文 (C++/Linux)

我编写了一个信号处理程序来捕获 FPE 错误。即使发生这种情况,我也需要继续执行。我收到一个 ucontext_t 作为参数,我可以将错误的操作数从 0 更改为另一个值,但 FPU 上下文仍然很糟糕,我遇到了无限循环?

有人已经在 Linux 上操纵 ucontext_t 结构了吗?

我终于找到了一种通过清除 ucontext_t 的状态标志来处理这些情况的方法,如下所示:

取反 0x3F 将 0 放入 FPU (x87) 的状态寄存器的 6 位。这样做意味着在计算后检查 FPE 异常。

0 投票
1 回答
4492 浏览

optimization - ARM (iPhone 3GS/4) 上的快速浮点到整数转换和浮点精度

我阅读了(在 x86 上将 float 转换为 int 的最快方法是什么)中提到的( http://www.stereopsis.com/FPU.html)。有谁知道缓慢的简单转换(见下面的片段)是否也适用于 ARM 架构?

要应用 FPU 文章中提到的一些技巧,您必须设置浮点运算的精度。我如何在 ARM 上做到这一点?

ARM 架构上最快的浮点到整数转换是什么?

谢谢!

0 投票
1 回答
728 浏览

clr - Intel x64 FPU 中的 NaN 算法有多慢?

提示和指控比比皆是,使用 NaN 的算术在硬件 FPU 中可能“慢”。特别是在现代 x64 FPU 中,例如在 Nehalem i7 上,这仍然是真的吗?无论操作数的值如何,FPU 乘法是否都以相同的速度产生?

我有一些插值代码可以在我们定义的数据的边缘徘徊,我正在尝试确定在此处和任何地方检查 NaN(或其他一些标记值)是否更快,或者只是在方便的点。

是的,我将对我的特定情况进行基准测试(它可能完全由其他东西主导,比如内存带宽),但我很惊讶没有在某处看到简明的总结来帮助我的直觉。

如果它对生成的 NaN 的风格有所不同,我将从 CLR 执行此操作。

0 投票
3 回答
630 浏览

linux - 整数除法与双除法 - 优化问题

在 Linux 上的 x86 CPU 上哪个操作应该更快,平均差异是多少(以 % 为单位):

或者:

double 上的操作将由 FPU 执行,CPU 可能会继续执行其他命令。这是正确的吗?它是否取决于编译标志(我正在使用带有-O3标志的 gcc)?

0 投票
2 回答
3808 浏览

c++ - gcc 4.2编译器(Mac OSX)的新手问题:fpu_control.h:没有这样的文件或目录

我正在尝试用 c/c++ 编译程序,但收到错误消息:

fpu_control.h:没有这样的文件或目录

从谷歌,我发现这个问题与处理浮点精度的方式有关。我读到并非所有 gcc 发行版都包含 fpu_control.h。

这是我唯一能查到的。我进行了广泛的搜索,找不到任何地方可以下载这个 fpu_control.h。任何人都可以帮忙吗?

谢谢你们。

0 投票
1 回答
1909 浏览

multithreading - Windows 7 与 Windows XP 多线程 - Delphi 应用程序不正确

我在 Windows XP 机器上编写的 Delphi Pro 6 应用程序在 Windows 7 上运行时遇到问题。我还没有要测试的 Windows 7,我正在尝试查看 Windows 7 是否可能是麻烦的根源。与 Windows XP 相比,Windows 7 处理线程的方式是否存在根本区别?我在 Windows 7 上的错误日志中看到事情发生的顺序不正确,这导致了问题。例如,本应初始化的对象在 Windows 7 上运行时未初始化,但这些对象在 Windows XP 上需要时才被初始化。

一些问题:

1) 是否存在任何可能导致线程/进程在两个操作系统版本之间表现不同的核心差异?

2) 我知道下一个问题可能看起来很荒谬,但是 Windows 7 是否会尝试拆分/分叉在 Windows XP 上未拆分/分叉的线程?

3) 最后,由于等待状态处理或寄存器存储的操作差异,或者可能是异常掩码设置等原因,FPU 处理是否存在任何已知问题,这些问题可能导致 XP 程序在 Windows 7 上运行时出现问题?

4) 任何 32 位与 64 位问题可能在这里造成麻烦?

5)我确实使用了多个线程,但后台线程完全受到关键部分的保护。这里有什么我应该关注的差异吗?

——罗施勒

0 投票
1 回答
1071 浏览

floating-point - MXCSR 控制寄存器的范围?

我想知道MXCSR 控制寄存器中存储的值的生命周期是多少(包括非正规浮点数的 FTZ 和 DAZ 配置):它是在线程范围内,还是 CPU 上的所有处理都通用/FPU?

我想知道的是我是否需要在线程池的每个线程开始时或在应用程序中设置它(MXCSR),或者它会影响应用程序和/或系统中的其他所有内容?

谢谢你的帮助!

0 投票
2 回答
588 浏览

assembly - 模拟 386

我正在申请一个竞赛,挑战人们为经典计算机编写程序。我将申请一个 PC/MS-DOS 条目。规则允许使用高达 386 的 CPU。

我一直在调查,我发现市场上最强大的 386 是运行在 40MHz 的 Intel 386DX。无论如何,我不知道它的任何竞争对手(AMD、Cyrix、德州仪器......)是否发布了具有更好整体性能的 386 兼容 CPU(我对包括片内 FPU 在内的那些特别感兴趣)。

你们知道更好的 386 变体吗?此外,我需要知道如何在 DOSBox 上以最准确的方式模拟它。

谢谢!

0 投票
1 回答
431 浏览

windows - 在 Windows 和 OS X 中设置 FPU

我正在做一个程序,使用该_controlfp_s函数将 FPU 的精度控制设置为 24 位,并将舍入模式设置为“接近”。我想为 Windows 创建一个 dll,为 OS X 创建一个包。

使用 Xcode 编译时找不到_controlfp_s,我认为它是 Mac 上不可用的 Microsoft 库的一部分。

我想在两个项目上使用相同的 .c 文件,那么有没有办法将它编译到 OS X 上?是否有适用于 Mac 的 C Microsoft 编译器?

谢谢你。