问题标签 [simd]
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.
optimization - 将 3D 数学转换为 SSE 或其他 SIMD 的速度提高了多少?
我在我的应用程序中广泛使用 3D 数学。通过将我的向量/矩阵库转换为 SSE、AltiVec 或类似的 SIMD 代码,我可以实现多少加速?
gcc - 使用内部函数时如何让 GCC 使用两个以上的 SIMD 寄存器?
我正在编写一些代码并尝试使用 SIMD 内在函数 SSE2/3 来加速它。我的代码具有这样的性质,以至于我需要将一些数据加载到 XMM 寄存器中并对其进行多次操作。当我查看生成的汇编代码时,似乎 GCC 不断将数据刷新回内存,以便重新加载 XMM0 和 XMM1 中的其他内容。我正在为 x86-64 编译,所以我有 15 个寄存器。为什么 GCC 只使用两个,我该怎么做才能让它使用更多?有什么方法可以“固定”寄存器中的某个值吗?我在变量定义中添加了“register”关键字,但生成的汇编代码是相同的。
gcc - 如何使用 gcc 进行矢量化?
v4 系列编译器可以使用一些现代 CPU 上的SIMDgcc
处理器自动矢量化循环,例如 AMD Athlon 或 Intel Pentium/Core 芯片。这是怎么做到的?
gcc - 除了 gcc 还有哪些编译器可以向量化代码?
当指定某些选项并给出正确的条件时,GCC 可以自动矢量化循环。是否有其他广泛可用的编译器可以做同样的事情?
gcc - 自动矢量化的实际使用?
有没有人利用 gcc 可以做的自动矢量化?在现实世界中(与示例代码相反)?是否需要重组现有代码才能利用?在任何生产代码中是否有大量可以通过这种方式矢量化的案例?
c - 双精度数组上的 SIMD?
我正在做一些需要 SIMD 的工作,我需要对一个双精度数组进行操作。是否有任何主流架构支持这一点?我只见过浮点运算。
提前致谢, 斯特凡
c++ - 适用于 GNU C++ 的 SSE SSE2 和 SSE3
是否有一个简单的教程让我在 GNU C++ 中快速掌握 SSE、SSE2 和 SSE3?如何在 SSE 中进行代码优化?
c++ - 良好的便携式 SIMD 库
任何人都可以推荐提供 ac/c++ API、适用于 Intel 和 AMD 扩展以及 Visual Studio、GCC 兼容的便携式 SIMD 库。我正在寻求加快诸如缩放 512x512 双精度数组之类的速度。矢量点积、矩阵乘法等。
到目前为止,我发现的唯一一个是: http ://simdx86.sourceforge.net/但正如第一页所说,它不能在 Visual Studio 上编译。
从我收集的信息来看,还有英特尔 IPP 不适用于 AMD。还有来自 AMD 的 Framewave,但我在编译和链接他们的库时遇到了一些问题,他们的论坛完全死了。有人设法在任何地方使用 Framewave 吗?
谢谢。
iphone - 使用 iPhone 的 SIMD 浮点单元将浮点数转换为整数
我目前正在尝试使用 Shark 优化一些与 DSP 相关的代码,发现我在浮点到整数的转换中浪费了很多时间:
由于 iPhone 似乎有一个 ARM11 FP 协处理器,我想知道是否可以用 FTOSI 指令替换我的代码。ARM 网站上提供了一些文档,但我没有内联手动优化程序集的经验。以前有人这样做过吗?
我想我可以内联代码
但是如何检查指令是否可用?
我怎样才能传递我的价值?
EDIT1:正如路易斯已经指出的那样,我忘了提到我正在编译时关闭了“Compile for Thumb”。
EDIT2:因为我想将浮点数转换为有符号的 Int16 而不是无符号的 Int,所以我将 ARM 指令从 FTOUI 更改为 FTOSI。这是原帖中的一个错误。
parallel-processing - 是否可以使用 OpenCL 框架执行 MIMD?
很快,我们将拥有能够对多个数据 (MIMD) 执行多个指令的 nVidia GTX 300。我想知道OpenCL是否可以执行MIMD?