问题标签 [sse3]
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 - 带有 SSSE3 标志的 ROS(机器人操作系统)
我最近开始使用 ROS,但遇到了一个问题。我需要使用一些需要 SSE2、SSE3 和 SSSE3 CPU 扩展的类。
我试图编辑我的 ROS 包的 manifest.xml 文件,例如
但它没有用!
该代码在“非 ROS 项目”中运行良好,但不知何故,编译器似乎忽略了 cflags。
我正在使用支持芯片扩展的 LinuxMint (ubuntu 12.04)。
我需要把旗帜放在哪里?
c++ - 未启用 C++ SSE3 指令集
我正在尝试使用来自的 HMMlib 库在 C++ 中处理一些隐藏的马尔可夫代码
我正在使用带有 gcc / g++ 4.6 的 ubuntu 12.04
我的编译步骤指令是:
这会产生以下错误:
我完全不知道这些错误是什么意思,以及如何解决它们
assembly - AVX 和冒泡排序
我必须使用输入单精度数字的 AVX 指令开发冒泡排序算法。谁能帮我寻找最好的实现?
我为SSE3做了一个冒泡排序版本:
c++ - 如何启用 SSSE3 内在函数但禁用它们在编译器优化中的使用
我有一个使用 SSSE3 内部命令的代码(注意三个 S)和一个运行时检查是否使用它,因此我假设应用程序应该在没有 SSSE3 支持的 CPU 上执行。但是,当使用 -mssse3 和 -O1 优化时,编译器还会插入我没有明确调用的 SSSE3 指令,因此程序崩溃。
当我明确调用相关的内部函数时,有没有办法启用 SSSE3 代码,但要阻止编译器添加自己的 SSSE3 代码?
请注意,我不能禁用 -O1 优化。
vectorization - SIMD 整数存储
我正在编写一个使用 SSE 指令来相乘和相加整数值的程序。我用浮点数做了同样的程序,但我的整数版本缺少一个指令。
使用浮点数,在完成所有操作后,我将 de 值返回到常规浮点数组,执行以下操作:
temp4 是一个浮点数 *,而 temp3 是一个 __m128。
问题是我找不到整数的类似内在函数。我应该如何将值返回到常规数组?
非常感谢你的回答 ;)
c# - 在目标数组中读取带有“间隙”的文件
我正在尝试找到一种将文件读入具有“间隙”的数组的方法:因此读取的数据位于位置
的字节数组中,而没有任何明显的速度损失。buffer
buffer[0], buffer[2], .., buffer[2*i]
更具体地说,我想逐个阅读它(即b[0], b[4], ..., b[i * 4]
)。
这是否可能(C#、C++)或者我应该寻找另一种方法?
更多背景知识:
我正在尝试加速散列算法(按块对文件进行散列,连接块散列,对其进行散列,并获取结果散列)。
这个想法是/是采用 SSE3 并在“并行”中执行 4 个块,这就是我需要以这种方式获取数据的原因,因此我可以轻松地将数据加载到寄存器中。
我用 C++ 编写的 (pinvokable) 库提供了不错的结果(即快 4 倍),但重新排序数据会消耗速度增益。
目前我正在逐块读取文件,然后重新排序整数(C#):
chunk
是一个字节数组,chunkIndex
是一个 int,作为方法参数传递。
buffer
是uint32_t*
由我的 C++ 代码分配的指针。
这样做的问题是时间太长了。调用上述代码 4 次大约需要 90 毫秒,而散列需要 3 毫秒。
巨大的差异让我觉得有点奇怪,但它会产生正确的哈希值。
intel - 使用 Intel 内在函数 SSSE3 的替代方案时性能下降
我正在开发一个性能关键应用程序,该应用程序必须移植到仅支持 MMX、SSE、SSE2 和 SSE3 的英特尔凌动处理器中。我以前的应用程序支持 SSSE3 和 AVX,现在我想将其降级为 Intel Atom 处理器(MMX、SSE、SSE2、SSE3)。
_mm_hadd_epi16
当我用这段代码替换 ssse3 指令时,性能会严重下降
这是我能够针对此特定指令提出的最佳转换。但是这种变化已经严重影响了整个程序的性能。
任何人都可以在指令的 MMX、SSE、SSE2 和 SSE3 指令中建议一个性能更高效的替代方案_mm_hadd_epi16
。提前致谢。
intel - 英特尔内部函数支持 Atom cloverview 处理器
我有一个应用程序是为使用 SSE 到 AVX 的 Sandbridge 处理器设计的,现在我希望在 Atom 处理器上运行相同的应用程序。
我最近在网上浏览 Atom cloverview 处理器的内在支持。它提到的每个地方都支持 SSE3。
但这意味着它仅支持 SSE3 或 SSE3 中包含补充 SSE3。
在 Intel Atom 架构手册中,它说所有 Atom 处理器都支持单指令多数据扩展,最高可达 SSE3 和 SSSE3。
当我开发一个应用程序并且我不确定是否在我的应用程序中包含 SSSE3 时,有人可以让我对上述内容有所了解。
如果 Intel Atom 支持 SSSE3,那将减轻我的很多痛苦
提前致谢。
c - 从 int 转换为(16 位)__m128i
我有以下代码作为程序的一部分,但是当我编译它时,我收到以下错误:
代码在哪里:
问题出在这一行
我找到了该指令__m128i _mm_cvtsi32_si128(int a)
,但不幸的是,它仅用于 32 位元素,而我有 16 位元素(大小为 8 的向量)。
audio - 使用 SSE/simd 指令将 24 位音频转换为 16 位音频
我想知道是否有任何快速方法可以对音频样本数组(使用内在函数或 asm)进行 24 位到 16 位量化。
源格式为 24 le 签名。
更新:设法完成转换,如下所述:
现在为抖动 - 如何避免量化效应?
欢迎任何提示。谢谢