问题标签 [accelerate-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1142 浏览

macos - Mac LION 上的 Lapack 版本

Lapack 3.2.1 并不是完全安全的……但是 3.3 是最近由 netlib 在英特尔的帮助下发布的。

所以有人知道 Lapack 3.3 版本是否会随新的 MacPro 一起提供。

0 投票
1 回答
1734 浏览

iphone - 使用 FFT 和加速框架理解自相关 - iPhone

我一直在尝试使用 Apple 提供的 vDSP 库(加速框架)在 iPhone 上实现自相关算法。

到目前为止,我按照苹果的 auriotouch 示例创建了一个音频单元,但我想使用加速框架来执行自相关,而不是 auriotouch 示例代码中的旧实现。

IORemote 音频单元通过我的 renderCallBack 方法路由,如下所示:

根据这篇文章中的 c++ 片段,来自麦克风的输入数据被发送到执行自相关的 ProcessAudioData 方法:Using the Apple FFT and Accelerate Framework

但是我在理解 displaydata 数组中的信息时遇到了一些麻烦。

当我尝试访问信息时,我得到的只是 nan,我唯一了解信息的时候是当我像这样投射 displaydata 数组时:

SInt16* buf = (SInt16 *)displayData;

计算自相关的步骤我遵循以下步骤: - 将实际输入 (ioData->mBuffers[0].mData) 拆分为偶数和奇数输入。- 执行 FFT(向前) - 取 FFT 生成的值的绝对平方。- 采用 IFFT(反向/反向) - 将复数拆分转换为实数。

有人可以给我一些关于如何解释显示数据数组中的信息的指示/建议,当我检查这样的显示数据时,它们似乎都是相同的值,尽管它们确实会因麦克风输入而异。

麦克风的输入预期是带有原始信号的一些回声的信号,自相关的目标是确定自相关峰值的滞后,以便我可以确定回声与原始信号的偏移量。

我是否应该首先创建信号的回声版本(带有一些偏移)并在 FFT 的多个值中使用它?

我很感激任何意见,如果你能指导我获得更清楚地解释这一点的信息,因为我对 vDSP 技术相当陌生,尤其是在 iPhone 上。我确实有卷积和傅立叶变换的数学经验,但苹果的就地包装让我猜测我在哪里可以找到我希望从这个计算中获得的信息。

0 投票
1 回答
585 浏览

iphone - 我想在 iOS 中实现图像处理算法,您能否推荐一些好的指南作为入门

我发现苹果文档不清楚。我在图像处理(Matlab 和 Scilab)方面有 2 年的经验。我只需要矩阵乘法和一些图像转换函数

0 投票
4 回答
3920 浏览

iphone - iPhone上的线性代数(python/numpy?)

这个学期,我将一个压缩感知算法实现为一个 iPhone 应用程序。为此,我需要一些好的矩阵/线性代数库。我对 iOS 和 Python 都有点陌生,正在寻求一些帮助来评估我的选择。

我知道 iPhone 有Accelerate框架,其中包括 vecLib、BLAS 和 LAPACK,但我不熟悉它们的 API(而且它们看起来相当混乱)。

我玩过 Python/numpy,我真的很喜欢它的简单易用性——如果可以选择,我更喜欢使用 numpy 而不是 Accelerate。

我知道嵌入 Python 是可能的,但我自己的运气并不好。我尝试将 Enthought 的 EPD.framework 包含在 XCode 项目中,但在玩了一个小时左右后并没有让它工作。我想编译 numpy 会更糟。

作为另一种选择,我可以使用 Cython (http://cython.org/) 生成 C 文件然后从中调用函数吗?我也尝试过这个,但是在包含 .so 库并调用它时遇到了更多问题。有没有办法让 Cython 生成 .c 和 .h 文件?会说.c和.h文件仍然依赖于numpy吗?

我读过一些关于 PyInstaller 和 freeze.py 的东西。这些中的任何一个都可以帮助我吗?

除了 Accelerate 或 Python+numpy 之外,还有其他选择吗?Python+numpy 是一个不错的选择,还是很难编译/构建?Cython 是一个有效的解决方案吗?

谢谢!

0 投票
2 回答
745 浏览

ios - 使用 vecLib/vDSP 创建带包络的正弦音发生器

我想用 Accelerate 框架创建一个正弦音发生器。我希望我的发生器具有启动/释放设置(即幅度包络)。

我了解如何创建一个充满正弦值的向量。我不知道如何将幅度包络应用于我的矢量数据。

我知道我可以使用 vDSP_vgen 创建一个斜坡向量来创建一个线性体积包络向量,并将我的正弦向量乘以我的包络向量。不过,这似乎很浪费,因为我正在处理许多数据点并创建一个中间向量来存储幅度包络在我的环境中非常浪费内存。

使用 Accelerate 框架处理幅度包络的最佳方法是什么?

0 投票
2 回答
2435 浏览

ios - Accelerate 的 vImage 与 vDSP

我正在尝试使用 iOS 上的 Accelerate 框架来绕过 iOS 上的 Core Image 不支持自定义过滤器/内核的事实。我正在开发一个边缘检测滤波器,使用两个卷积和一个Sobel 内核,但是从一个简单的高斯模糊开始来掌握它的窍门。我知道 vImage 适合作为矩阵进行图像处理,而 vDSP 专注于使用傅里叶变换处理数字信号。但是虽然我开始使用 vImage 函数(vImageConvolve_XXXX 等),但我听到很多人在讨论使用 vDSP 的函数(vDSP_conv、vDSP_imgfir 等)来做卷积之类的事情。所以这让我想到了手头的问题:我什么时候应该使用一个而不是另一个?它们在卷积操作方面有什么区别?我到处寻找,但找不到明确的答案。有人可以阐明它,或者指出我正确的方向吗?

谢谢!

0 投票
2 回答
935 浏览

c++ - 如何在 Windows 中复制加速(苹果 DSP 库)功能?

我将尽可能简洁:

由于一些非常具体的硬件限制,我有一个项目需要移植到 Windows。有一个小实用程序类,它使用 Apple DSP 库 Accelerate 执行矢量距离计算。我需要重写它,以便它在没有所述库的情况下运行,但无法找到合适的替代品。我最好的做法是什么?

0 投票
2 回答
877 浏览

iphone - iOS中数组的快速比较

我需要在一个更大的二维值数组周围移动一个小的二维值数组,并将大于较小数组中相应值的较大数组的任何值设置为较小数组的值。想想图像合成,有点像,但使用两个 2D 浮点数组。我需要尽可能快地做很多次。只是想知道是否有某种方法可以使用 NEON Assembly、Accelerate 框架或其他我没听说过的方法进行优化。有什么比双嵌套 for 循环来比较和替换值要快得多吗?例如,将值存储为一维数组而不是二维数组会更快吗?或者更快地访问跨行而不是每列的值?只是想挤出任何我能得到的额外速度,但不知道如何。

0 投票
2 回答
1222 浏览

iphone - iphone上的加速框架

如果我想对向量做一些代数或计算 ffts,Accelerate 框架很好。但是,除非我遗漏了什么,否则如果我想计算向量中值的余弦(或任何其他三角函数),则无法通过加速来做到这一点。此外,vecLib 在 iphone 上被标记为不可用,并且 vDSP 缺少诸如平方根、对数、三角函数之类的东西......

我真的正确吗?o_O

如果我是,如何加快这些缺失函数的计算并利用加速正在使用的设施?


答案:

正如 MrMage 下面所说,vv...Accelerate 中有一系列可用的功能。这些包括三角、对数、根等。但不支持复数。谢谢MrMage!

0 投票
1 回答
1512 浏览

blas - vecLib cblas_sgemm 文档错误?

我正在尝试使用 vecLibs 的 cblas 将两个矩阵相乘:

根据文档,每个参数似乎都匹配但我收到此错误:

lda 必须 >= MAX(K,1):lda=2 K=3BLAS 错误:传递给 cblas_sgemm 的参数号 9 具有无效值