问题标签 [sse]

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 投票
3 回答
43062 浏览

x86 - x86中“非临时”内存访问的含义是什么

这是一个有点低级的问题。在 x86 汇编中有两条 SSE 指令:

MOVDQA xmmi, m128

MOVNTDQA xmmi, m128

IA-32 Software Developer's Manual 说 MOVNTDQA 中的NT代表Non-Temporal,否则它与 MOVDQA 相同。

我的问题是,非时间是什么意思?

0 投票
7 回答
4614 浏览

optimization - 将 3D 数学转换为 SSE 或其他 SIMD 的速度提高了多少?

我在我的应用程序中广泛使用 3D 数学。通过将我的向量/矩阵库转换为 SSE、AltiVec 或类似的 SIMD 代码,我可以实现多少加速?

0 投票
2 回答
2438 浏览

gcc - 使用内部函数时如何让 GCC 使用两个以上的 SIMD 寄存器?

我正在编写一些代码并尝试使用 SIMD 内在函数 SSE2/3 来加速它。我的代码具有这样的性质,以至于我需要将一些数据加载到 XMM 寄存器中并对其进行多次操作。当我查看生成的汇编代码时,似乎 GCC 不断将数据刷新回内存,以便重新加载 XMM0 和 XMM1 中的其他内容。我正在为 x86-64 编译,所以我有 15 个寄存器。为什么 GCC 只使用两个,我该怎么做才能让它使用更多?有什么方法可以“固定”寄存器中的某个值吗?我在变量定义中添加了“register”关键字,但生成的汇编代码是相同的。

0 投票
4 回答
1534 浏览

c - char和整数数组之间的速度差异?

目前我正在处理一个视频处理软件,其中图片数据(8位有符号和无符号)存储在分配为 16 位对齐整数的数组中

一般来说,如果使用这样的有符号/无符号字符数组,它不会加快读写速度吗?:

我对缓存行大小和数据传输优化知之甚少,但至少我知道这是一个问题。除此之外,SSE 将在未来使用,在这种情况下,char-arrays - 与 int 数组不同 - 已经是打包格式。那么哪个版本会更快呢?

0 投票
2 回答
2889 浏览

c - 学习在 Intel/AMD 64 位上用 C 语言预取缓冲区的最佳资源

我有兴趣掌握与预取相关的功能,例如

_mm_prefetch(...)

所以当我执行遍历数组的操作时,内存带宽被充分利用了。学习这方面的最佳资源是什么?

我在英特尔 linux 平台上使用 GCC 4 系列在 C 中完成这项工作。

0 投票
2 回答
983 浏览

visual-studio-2005 - VS2005 中的 SSE4 指令?

我需要在使用 Visual Stdio 2005 编译的项目中使用 popcnt 指令
。内在函数__popcnt()仅适用于 VS2008,即使我在__asm {}块中编写,编译器似乎也无法识别该指令。

有没有办法做到这一点?

0 投票
10 回答
17406 浏览

c# - 可以在 c# 中使用 SSE 吗?

我正在阅读一个关于 c# 代码优化的问题,一个解决方案是将 c++ 与 SSE 结合使用。是否可以直接从 ac# 程序进行 SSE?

0 投票
3 回答
507 浏览

x86 - 开发新的指令集

英特尔将发布一个名为AVX的新指令集,其中包括将 SSE 扩展到 256 位操作。即,4 个双精度元素或 8 个单精度元素。

考虑到目前还没有支持它的硬件,如何为 AVX 开发代码?更一般地说,开发人员如何为不存在的硬件编写代码,例如,如果他们希望在支持 CPU 发布时准备好软件?

0 投票
15 回答
38063 浏览

c++ - 使用 SSE 指令

我有一个用 C++ 编写的循环,它为一个大整数数组的每个元素执行。在循环内部,我屏蔽了整数的一些位,然后找到最小值和最大值。我听说如果我对这些操作使用 SSE 指令,与使用按位 AND 和 if-else 条件编写的正常循环相比,它将运行得更快。我的问题是我应该去找这些 SSE 说明吗?另外,如果我的代码在不同的处理器上运行会发生什么?它还能工作还是这些指令是特定于处理器的?

0 投票
5 回答
74615 浏览

c++ - 适用于 GNU C++ 的 SSE SSE2 和 SSE3

是否有一个简单的教程让我在 GNU C++ 中快速掌握 SSE、SSE2 和 SSE3?如何在 SSE 中进行代码优化?