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

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

最后,下面的问题在这里可能不正确/ Not Acceptable ,因此mods谨在此发表评论,我可以对其进行编辑。

我一直在尝试阅读IPP的许可协议(protocol),但是目前尚不清楚Linux上的商业IPP许可(以199美元+税的价格出售)是否有权获得该库的单个个人副本(但可能用于商业用途)还是可以将他们的应用程序与此库链接起来并出售以获得商业利益?还是需要其他类型的许可证?无法找出在英特尔网站上问这个问题的地方(与“联系销售”不一样)!

最佳答案

根据您的看法,对您的问题有几种答案。

英特尔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内核运行的优化库需要针对不同的工作负载具有同一算法的几种实现。这将增加库的大小。您愿意为此付出代价吗?

    关于performance - 是否有ARM相当于Intel IPP?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9527881/

    10-11 22:38