9

当与英特尔 IPP 库链接时,某些 DSP 类型的工作负载似乎在英特尔 x86 x86_64 处理器上显示出非常显着的性能改进。

想知道ARM方面是否有类似的东西?尤其是这可能适用于 ARM9、ARM11 和 Cortex-A8/A9(不一定具有相同水平的性能提升)。

最后,下面这个问题在这里可能不正确/不可接受,所以请各位模组留下评论,我可以编辑它。

我一直在尝试阅读 IPP 的许可协议,但不清楚 Linux 上的商业 IPP 许可(售价 199 美元+税)是否有权获得图书馆的单个个人副本(但可能用于商业用途) ,或者可以将他们的应用程序与该库链接并出售以获取商业利益?还是需要另一种许可证?无法在英特尔网站上找到一个地方来问这个问题(不像联系销售)!

4

4 回答 4

8

还有ARM 赞助的开源项目Ne10,它最初涵盖了一小组浮点、向量算术和矩阵操作函数。

于 2012-09-11T07:49:05.017 回答
6

您的问题有几个答案,具体取决于您如何看待它。

英特尔 IPP 是一个包含许多预编译函数的库,用于执行快速傅里叶变换等常见任务。开源社区中有特定的库做同样的事情,看看:

和许多其他人。并非所有这些库都针对各种 ARM 内核进行了优化。

您的问题的第二个角度是为什么您想要一些可以在显着不同的 ARM 内核上运行的东西。在 Cortex A 系列处理器上,您有(可选!)ARM NEON SIMD 指令(如 MMX/SSE/AltiVec)可以一次获取一组数据并对其应用多个操作。这减少了处理大量数据所需的指令量。ARM11xx 系列有类似但更受限制的东西,称为 VFP3。ARM9xx 系列确实缺乏这种优化。除此之外,ARM 架构还具有 Thumb 和 Thumb2,它们可以生成更小更快的代码。

最终结果是,真正跨多个 ARM 内核运行的优化库将需要针对不同工作负载具有相同算法的多个实现。这将增加库的大小。你愿意付出这个代价吗?

于 2012-03-02T13:18:42.977 回答
4

在 iOS 上,有针对 ARM 优化的加速框架,在可用的情况下使用 SIMD。在此处查看 Apple 的文档。

于 2012-09-10T02:13:56.823 回答
0

OpenMAX / OpenKode 怎么样?

https://en.wikipedia.org/wiki/OpenMAX

https://www.khronos.org/openkode/

我想知道是否有人试图在 OSS 中重新实现 IIPP(即使只是存根?)

于 2017-09-01T14:03:53.750 回答