有没有与Intel IPP等效的ARM版本?

9
某些DSP类型的工作负载在与Intel IPP库链接时,似乎在Intel x86 x86_64处理器上显示出非常显著的性能提升。
不知道在ARM方面是否有类似的情况?特别是可能适用于ARM9、ARM11和Cortex-A8/A9(不一定具有相同级别的性能提升)。
最后,以下问题可能不正确/不可接受,请管理员友善留言,我可以将其编辑掉。
我一直在尝试阅读IPP的许可协议,但不清楚在Linux上的商业IPP许可证(售价199美元+税),是否允许一个人获得该库的单个个人副本(但可能用于商业用途),或者是否可以将其应用程序与该库链接并以商业利益销售?还是需要不同类型的许可证?无法找到询问此问题的英特尔网站上的位置(没有像联系销售这样的选项)!
4个回答

8

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


谢谢你的提示!看起来很有趣。 - bdutta74

6
根据您的问题,有几个答案,具体取决于您的视角。
Intel IPP是一个库,其中包含许多预定义函数来执行常见任务,如快速傅里叶变换等。开源社区中还有一些特定库可以完成相同的任务,例如:
- FFTW(快速傅里叶变换):http://www.fftw.org/index.html - OpenCV(计算机视觉):http://opencv.willowgarage.com/wiki/ - LAPACK(各种线性代数):http://en.wikipedia.org/wiki/LAPACK 还有很多其他库可用。但并非所有这些库都具备各种ARM内核的优化。
第二个问题是为什么需要跨不同的ARM内核使用某些功能。在Cortex A系列处理器上,您可以使用(可选的!)ARM NEON SIMD指令(与MMX / SSE / AltiVec类似),一次接收一组数据并对其应用多个操作。这减少了处理一定量数据所需的指令数量。ARM11xx系列也有类似的功能,但更加受限,称为VFP3。ARM9xx系列缺乏此类优化。除此以外,ARM架构还有Thumb和Thumb2,可以生成更小、更快的代码。
因此,经过优化的库需要为不同的工作负载实现相同算法的多个版本才能在各种ARM内核上真正运行。这将增加库的大小。您愿意支付这个代价吗?

4
在iOS上,有加速框架,可在适用时使用SIMD优化ARM。请查看苹果官方文档这里

有趣。从未听说过。肯定值得一看。 - Valeriy Van

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接