问题标签 [neon]

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 投票
2 回答
799 浏览

ipad - 如何在 iPad A4 处理器上执行整数 SIMD 运算?

我觉得需要速度。双 for 循环正在扼杀我的 iPad 应用程序性能。我需要 SIMD。如何在 iPad A4 处理器上执行整数 SIMD 操作?

谢谢,
道格

0 投票
4 回答
35192 浏览

arm - ARM Cortex-A8:VFP 和 NEON 有什么区别

在 ARM Cortex-A8 处理器中,我了解 NEON 是什么,它是一个 SIMD 协处理器。

但是VFP(Vector Floating Point)单元,它也是一个协处理器,是否可以作为一个SIMD处理器工作?如果是这样,哪个更好用?

我读了一些链接,例如-

  1. 链接1

  2. 链接2

但并不是很清楚它们的含义。他们说 VFP 从未打算用于 SIMD,但在Wiki上我读到以下内容 - “ VFP 架构还支持执行短向量指令,但这些指令按顺序对每个向量元素进行操作,因此不提供真正的 SIMD 的性能(单指令多数据)并行性。

不太清楚该相信什么,有人可以详细说明这个话题吗?

0 投票
1 回答
277 浏览

http - 如何在发送请求正文之前检查是否可以执行 PUT?

注意:我们在客户端使用 lib_neon,在服务器端使用 Tomcat 和 servlet api。

问题如下:当客户端想要放置一些内容时,它会执行一个带有“Expect: 100-continue”标头的 PUT 请求,Tomcat 通过简单地返回状态 100 Continue 来处理它,然后客户端开始发送请求的剩余部分,并且它被我们的自定义过滤器处理并且通常它不会通过(例如用户未授权,或者试图放置太大的文件,超过用户限制,或其他)。过滤器立即发送错误响应,但客户端仅在提交完整请求正文时才读取响应。

似乎不可能手动发送一些东西而不是 100 Continue 状态,当一些检查失败时,并且这种行为被硬编码到tomcat中,当不可能时,有没有其他方法不上传请求正文?

0 投票
1 回答
5998 浏览

arm - ARM Cortex-A8:如何同时使用 NEON 和 vfpv3

我正在使用 Cortex-A8 处理器,但我不明白如何使用该-mfpu标志。

在 Cortex-A8 上,有vfpv3neon协处理器。以前我不知道如何使用霓虹灯,所以我只使用

gcc -marm -mfloat-abi=softfp -mfpu=vfpv3

现在我已经了解了 SIMD 处理器是如何运行的,并且我已经使用 NEON 内部函数编写了某些代码。现在要使用 neon 协处理器,我的 -mfpu 标志必须更改为-mfpu=neon,所以我的编译器命令行如下所示

gcc -marm -mfloat-abi=softfp -mfpu=neon

现在,这是否意味着vfpv3不再使用 my 了?我有很多没有使用 NEON 的代码,这些部分没有使用vfpv3.

如果仍然使用 neon 和 vfpv3,那么我没有问题,但如果只使用其中一个,我该如何同时使用它们?

0 投票
2 回答
1073 浏览

iphone - vreinterpret NEON 内在问题

好的,我在最后一天一直在敲我的头,我确信这很简单,所以就这样吧。为什么这段代码不起作用?我正在使用 Xcode 3.2.5 和 LLVM,当我尝试编译这样的东西时:

我收到错误消息:“从不兼容的类型'int'分配给'int16x8_t'”我所有其他内在函数都可以正常工作,但由于某种原因我无法重新解释向量。有任何想法吗?提前致谢。

0 投票
2 回答
1210 浏览

arm - ARM Cortex-A8:一次内存读取会获取多少字节?

我正在尝试改进在 ARM cortex-a8 处理器上运行的图像处理项目。

我正在从内存中访问 8 位灰度图像数据。在我的函数中,现在我正在逐字节访问单个像素值。

我认为通过使用 NEON,我可以通过一次从内存中访问 128/8 = 16 个字节来改进这一点,然后在我的函数中使用它们。但是在运行更改后的版本时,我发现这实际上比逐字节访问要花费更多时间。我认为我使用 NEON 的获取正在成为一个瓶颈,花费的时间比我的计算时间还多。

ARM Cortex-A8 的数据总线大小是多少?在一次内存提取中从内存中访问了多少字节?

0 投票
1 回答
1054 浏览

arm - 如何使用 Neon Intrinsics 重新排序四字向量数据?

这个问题与 ARM NEON 内在函数有关。我正在使用 ARM neon 内在函数来实现 FIR。我想重新排序四字向量数据。例如,在 Neon 寄存器中有四个 32 位元素 - 例如 Q0 - 大小为 128 位。

A3 A2 A1 A0

我想将 Q0 重新排序为 A0 A1 A2 A3。

有什么选择吗?

0 投票
3 回答
2569 浏览

gcc - ARM GCC 错误?使用 vldr 链而不是一个 vldmia…

考虑以下 NEON 优化函数:

为什么 GCC 4.5 会生成这种可憎的东西,用于加载第一个矩阵:

…而不仅仅是:

……?

我使用的选项:

请注意,使用 iPhoneOS 提供的编译器会产生相同的结果:

0 投票
3 回答
3832 浏览

c - 与 SSE 的 128 位哈希比较


在我当前的项目中,我必须比较 128 位值(实际上是 md5 哈希),我认为可以通过使用 SSE 指令来加速比较。我的问题是我无法找到关于 SSE 说明的好的文档;我正在寻找一个 128 位整数比较指令,让我知道一个散列是否更大、更小或等于另一个。这样的指令存在吗?

PS:目标机器是带有SSE2指令的x86_64服务器;我也对同一工作的 NEON 指令感兴趣。

0 投票
1 回答
778 浏览

assembly - NEON:如何将 128 位 ARGB 转换为具有饱和度的 32 位 ARGB?

我有一个 ARGB 像素存储在 128 位 NEON 寄存器中,每个通道 32 位。我需要将它作为 8 位通道 ARGB(缩小和饱和)存储到内存中。

我在 vmla.32 q1, q2, d0 之后得到了结果;想知道我是否可以通过 mul 指令直接节省一些周期来实现缩小或饱和。

最好的方法是什么?