问题标签 [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.

0 投票
1 回答
258 浏览

x86 - 带有 SSSE3 标志的 ROS(机器人操作系统)

我最近开始使用 ROS,但遇到了一个问题。我需要使用一些需要 SSE2、SSE3 和 SSSE3 CPU 扩展的类。

我试图编辑我的 ROS 包的 manifest.xml 文件,例如

但它没有用!

该代码在“非 ROS 项目”中运行良好,但不知何故,编译器似乎忽略了 cflags。

我正在使用支持芯片扩展的 LinuxMint (ubuntu 12.04)。

我需要把旗帜放在哪里?

0 投票
1 回答
8535 浏览

c++ - 未启用 C++ SSE3 指令集

我正在尝试使用来自的 HMMlib 库在 C++ 中处理一些隐藏的马尔可夫代码

我正在使用带有 gcc / g++ 4.6 的 ubuntu 12.04

我的编译步骤指令是:

这会产生以下错误:

我完全不知道这些错误是什么意思,以及如何解决它们

0 投票
1 回答
866 浏览

assembly - AVX 和冒泡排序

我必须使用输入单精度数字的 AVX 指令开发冒泡排序算法。谁能帮我寻找最好的实现?

我为SSE3做了一个冒泡排序版本:

0 投票
2 回答
3416 浏览

c++ - 如何启用 SSSE3 内在函数但禁用它们在编译器优化中的使用

我有一个使用 SSSE3 内部命令的代码(注意三个 S)和一个运行时检查是否使用它,因此我假设应用程序应该在没有 SSSE3 支持的 CPU 上执行。但是,当使用 -mssse3 和 -O1 优化时,编译器还会插入我没有明确调用的 SSSE3 指令,因此程序崩溃。

当我明确调用相关的内部函数时,有没有办法启用 SSSE3 代码,但要阻止编译器添加自己的 SSSE3 代码?

请注意,我不能禁用 -O1 优化。

0 投票
1 回答
1013 浏览

vectorization - SIMD 整数存储

我正在编写一个使用 SSE 指令来相乘和相加整数值的程序。我用浮点数做了同样的程序,但我的整数版本缺少一个指令。

使用浮点数,在完成所有操作后,我将 de 值返回到常规浮点数组,执行以下操作:

temp4 是一个浮点数 *,而 temp3 是一个 __m128。

问题是我找不到整数的类似内在函数。我应该如何将值返回到常规数组?

非常感谢你的回答 ;)

0 投票
1 回答
115 浏览

c# - 在目标数组中读取带有“间隙”的文件

我正在尝试找到一种将文件读入具有“间隙”的数组的方法:因此读取的数据位于位置
的字节数组中,而没有任何明显的速度损失。bufferbuffer[0], buffer[2], .., buffer[2*i]

更具体地说,我想逐个阅读它(即b[0], b[4], ..., b[i * 4])。

这是否可能(C#、C++)或者我应该寻找另一种方法?

更多背景知识:
我正在尝试加速散列算法(按块对文件进行散列,连接块散列,对其进行散列,并获取结果散列)。
这个想法是/是采用 SSE3 并在“并行”中执行 4 个块,这就是我需要以这种方式获取数据的原因,因此我可以轻松地将数据加载到寄存器中。

我用 C++ 编写的 (pinvokable) 库提供了不错的结果(即快 4 倍),但重新排序数据会消耗速度增益。

目前我正在逐块读取文件,然后重新排序整数(C#):

chunk是一个字节数组,chunkIndex是一个 int,作为方法参数传递。
bufferuint32_t*由我的 C++ 代码分配的指针。

这样做的问题是时间太长了。调用上述代码 4 次大约需要 90 毫秒,而散列需要 3 毫秒。
巨大的差异让我觉得有点奇怪,但它会产生正确的哈希值。

0 投票
2 回答
729 浏览

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。提前致谢。

0 投票
1 回答
362 浏览

intel - 英特尔内部函数支持 Atom cloverview 处理器

我有一个应用程序是为使用 SSE 到 AVX 的 Sandbridge 处理器设计的,现在我希望在 Atom 处理器上运行相同的应用程序。

我最近在网上浏览 Atom cloverview 处理器的内在支持。它提到的每个地方都支持 SSE3。

但这意味着它仅支持 SSE3 或 SSE3 中包含补充 SSE3。

在 Intel Atom 架构手册中,它说所有 Atom 处理器都支持单指令多数据扩展,最高可达 SSE3 和 SSSE3。

当我开发一个应用程序并且我不确定是否在我的应用程序中包含 SSSE3 时,有人可以让我对上述内容有所了解。

如果 Intel Atom 支持 SSSE3,那将减轻我的很多痛苦

提前致谢。

0 投票
1 回答
2735 浏览

c - 从 int 转换为(16 位)__m128i

我有以下代码作为程序的一部分,但是当我编译它时,我收到以下错误:

代码在哪里:

问题出在这一行

我找到了该指令__m128i _mm_cvtsi32_si128(int a),但不幸的是,它仅用于 32 位元素,而我有 16 位元素(大小为 8 的向量)。

0 投票
1 回答
326 浏览

audio - 使用 SSE/simd 指令将 24 位音频转换为 16 位音频

我想知道是否有任何快速方法可以对音频样本数组(使用内在函数或 asm)进行 24 位到 16 位量化。

源格式为 24 le 签名。

更新:设法完成转换,如下所述:

现在为抖动 - 如何避免量化效应?

欢迎任何提示。谢谢