【问题标题】:Is there a C implementation for GNU ARM NEON intrinsics? [closed]是否有 GNU ARM NEON 内在函数的 C 实现? [关闭]
【发布时间】:2015-12-14 09:45:02
【问题描述】:

我不是在寻找可移植的 SIMD 实现。

我所需要的只是:一个位精确的实现。只要速度不是特别慢,性能并不重要。

我想将它用于早期开发和测试,这样我就可以在主机上编译和运行前 10 次以上的迭代。然后在 ARM 目标上交叉编译和微调性能。

当我使用像 described here 这样的 TI DSP 时,我已经习惯了这种开发周期。当我搬到 ARM NEON 时,我想继续这样做。

这已经完成了吗,还是我需要发明轮子?

【问题讨论】:

  • 我不知道任何可移植的实现,除了像 QEMU 这样的 VM。将 linux ARM 发行版安装到 VM 中并编译。这就是我在家里所做的。
  • @user1095108 是的,这是一种方法。但随后我需要将 python 或 matlab 等开发工具与仿真 VM 连接,而不是编译为库的 C 函数。我的直觉是,与 VM 接口并不比与目标板接口容易,因此我失去了在主机上运行它的大部分优势。
  • 我也对这样的工具感兴趣,你发明过吗?

标签: c gcc arm simd neon


【解决方案1】:

英特尔有 a useful set of macros, neon2sse.h 将 NEON 内在函数转换为 SSE。这使您能够在 x86 平台上使用 NEON 内部函数构建和测试 C/C++ 代码。

【讨论】:

  • 当然,但是 OP 说的是便携方式。你的回答只是 x86。
  • @user1095108:这个问题并不完全清楚 - OP 说“我在寻找便携式 SIMD 实现”,但接着说“所有我需要的是:一个可移植且位精确的实现”。但是鉴于 x86 非常普遍,并且 OP 似乎只是希望能够在托管环境中进行原型/构建/测试,那么通用 x86 解决方案似乎符合可移植性要求(IMNVHO ;-))。 OP没有发表评论,但他已经接受了答案,所以我认为它符合他的需求。
  • 我自己知道这些宏,但没有回答,因为问题特别提到了“便携”。也许应该编辑这个问题。
  • 是的,理想情况下,需要就 OP 的具体要求澄清问题。话虽如此,它可能是题外话,因为它正在征求建议,所以它很可能会被关闭。
  • 我编辑了它,但希望它会被关闭,是的。
猜你喜欢
  • 2019-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-06
  • 2011-02-20
  • 1970-01-01
  • 2013-09-18
  • 1970-01-01
相关资源
最近更新 更多