Apple 的 Accelerate Framework 库的开源等效项是啥? [关闭]

Posted

技术标签:

【中文标题】Apple 的 Accelerate Framework 库的开源等效项是啥? [关闭]【英文标题】:What are the open source equivalents of Apple's Accelerate Framework libraries? [closed]Apple 的 Accelerate Framework 库的开源等效项是什么? [关闭] 【发布时间】:2013-05-08 03:06:46 【问题描述】:

如果我们看一下 Accelerate Framework 的保护伞,我们会看到几个库:

我知道 BLAS 和 LAPACK 是开源的,并且在其他地方使用的相同代码可以针对 Accelerate 进行编译。 但是 vForce、vMathLib(以及 vMisc 中的其他)和 vDSP 呢?这些库是否有任何开源等效项?

编辑:

让我再详细说明一下(只知道我有足够的知识这样做)。基本上,vDSP、vFoce 和 vMathLib 是面向矢量的库。所以,如果我们有一个向量并且想要计算一个基于分量的函数,比如 sin() 和 cos(),那么使用 Accelerate 中的 vvsincos() 会更快,因为它将管道化 sin() 和 cos 的计算() 用于向量中的所有条目,这比在向量上使用 for 循环更快。 简单地在泰勒级数中扩展这些函数并使用三角关系,我们看到有几个重复的计算正在进行,框架试图避免这种情况。

vDSP 等下的 FFT 也是如此

然后,我的问题是:与此等效的最佳开源是什么?如果我在 Accelerate 下开发我的项目,我如何使用开源工具分发它而不需要重写我的代码?

【问题讨论】:

如果您告诉我们 vForce、vMisc 和 vDSP 提供什么,有人可能会提供帮助。我,我太懒惰了,不能先替你找出来。 @HighPerformanceMark:vDSP 是各种信号处理功能,从简单的向量加法到 FFT。 vForce 大致是数组的 libm(例如,每个数组元素的正弦)。 vMathLib 包含各种例程,包括一些宽整数运算、SIMD 对象的类 libm 函数和一些 BLAS 函数。 @EricPostpischil:稍微纠正一下,vMathLib 仅包含 SIMD 数组上的数学库函数。大整数和遗留的 BLAS 内容在其他标题中。 【参考方案1】:

Stephen Canon (@stephencanon) 在推特上回答了我的问题:

"OpenCV 提供了一些 vImage 功能,而GSL 与 vDSP 有一些重叠。两者都不是完全等效的,也不兼容接口,因此没有像 BLAS/LAPACK 那样的直接替换。 "

【讨论】:

以上是关于Apple 的 Accelerate Framework 库的开源等效项是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Apple Accelerate Framework 缩放和规范化矢量

为什么Apple Accelerate框架有时会很慢?

Apple Accelerate vDSP fft vs DFT 和比例因子

使用 Apple Accelerate Framework vForce 库来提高性能

使用 Apple Accelerate 框架的希尔伯特变换(分析信号)?

如何从链接到 Apple Accelerate 框架的源代码构建 NumPy?