问题标签 [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.
x86 - x86中“非临时”内存访问的含义是什么
这是一个有点低级的问题。在 x86 汇编中有两条 SSE 指令:
MOVDQA xmmi, m128
和
MOVNTDQA xmmi, m128
IA-32 Software Developer's Manual 说 MOVNTDQA 中的NT代表Non-Temporal,否则它与 MOVDQA 相同。
我的问题是,非时间是什么意思?
optimization - 将 3D 数学转换为 SSE 或其他 SIMD 的速度提高了多少?
我在我的应用程序中广泛使用 3D 数学。通过将我的向量/矩阵库转换为 SSE、AltiVec 或类似的 SIMD 代码,我可以实现多少加速?
gcc - 使用内部函数时如何让 GCC 使用两个以上的 SIMD 寄存器?
我正在编写一些代码并尝试使用 SIMD 内在函数 SSE2/3 来加速它。我的代码具有这样的性质,以至于我需要将一些数据加载到 XMM 寄存器中并对其进行多次操作。当我查看生成的汇编代码时,似乎 GCC 不断将数据刷新回内存,以便重新加载 XMM0 和 XMM1 中的其他内容。我正在为 x86-64 编译,所以我有 15 个寄存器。为什么 GCC 只使用两个,我该怎么做才能让它使用更多?有什么方法可以“固定”寄存器中的某个值吗?我在变量定义中添加了“register”关键字,但生成的汇编代码是相同的。
c - char和整数数组之间的速度差异?
目前我正在处理一个视频处理软件,其中图片数据(8位有符号和无符号)存储在分配为 16 位对齐整数的数组中
一般来说,如果使用这样的有符号/无符号字符数组,它不会加快读写速度吗?:
我对缓存行大小和数据传输优化知之甚少,但至少我知道这是一个问题。除此之外,SSE 将在未来使用,在这种情况下,char-arrays - 与 int 数组不同 - 已经是打包格式。那么哪个版本会更快呢?
c - 学习在 Intel/AMD 64 位上用 C 语言预取缓冲区的最佳资源
我有兴趣掌握与预取相关的功能,例如
_mm_prefetch(...)
所以当我执行遍历数组的操作时,内存带宽被充分利用了。学习这方面的最佳资源是什么?
我在英特尔 linux 平台上使用 GCC 4 系列在 C 中完成这项工作。
visual-studio-2005 - VS2005 中的 SSE4 指令?
我需要在使用 Visual Stdio 2005 编译的项目中使用 popcnt 指令
。内在函数__popcnt()
仅适用于 VS2008,即使我在__asm {}
块中编写,编译器似乎也无法识别该指令。
有没有办法做到这一点?
c# - 可以在 c# 中使用 SSE 吗?
我正在阅读一个关于 c# 代码优化的问题,一个解决方案是将 c++ 与 SSE 结合使用。是否可以直接从 ac# 程序进行 SSE?
x86 - 开发新的指令集
英特尔将发布一个名为AVX的新指令集,其中包括将 SSE 扩展到 256 位操作。即,4 个双精度元素或 8 个单精度元素。
考虑到目前还没有支持它的硬件,如何为 AVX 开发代码?更一般地说,开发人员如何为不存在的硬件编写代码,例如,如果他们希望在支持 CPU 发布时准备好软件?
c++ - 使用 SSE 指令
我有一个用 C++ 编写的循环,它为一个大整数数组的每个元素执行。在循环内部,我屏蔽了整数的一些位,然后找到最小值和最大值。我听说如果我对这些操作使用 SSE 指令,与使用按位 AND 和 if-else 条件编写的正常循环相比,它将运行得更快。我的问题是我应该去找这些 SSE 说明吗?另外,如果我的代码在不同的处理器上运行会发生什么?它还能工作还是这些指令是特定于处理器的?
c++ - 适用于 GNU C++ 的 SSE SSE2 和 SSE3
是否有一个简单的教程让我在 GNU C++ 中快速掌握 SSE、SSE2 和 SSE3?如何在 SSE 中进行代码优化?