- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在为 iOS(即 iPhone 或 iPad)实现大量使用快速傅里叶变换(以及一些信号处理操作,例如插值和重采样)的计算密集型应用程序。允许在 iOS 上运行 FFT 的最佳库和 API 是什么?
我简要地研究了 Apple Metal 和 Apple vDSP。我不确定 vDSP 使用 GPU,尽管它似乎是高度并行化的并且使用 SIMD。 Metal 似乎允许访问计算密集型应用程序的 GPU,但我找不到用于 FFT 和基本信号处理操作的库(类似于 AMD 的 clFFT)。 Apple 是否提供此类库?
是否有其他适用于计算密集型应用的使用适用于 iOS 的 GPU 的 API 和库?
谢谢。
最佳答案
vDSP 实际上使用内置(从 iPhone 3GS 开始)NEON 矢量算术处理器,正如您已经说过的,它是一个 SIMD 引擎,对于某些任务(包括 FFT)来说非常快。
我没有在 GPU 上计算 FFT 的经验,但我怀疑它会比 vDSP 中的 NEON 指令更快,因为它的唯一目的是这些与媒体和信号处理相关的任务。
vDSP 在底层使用 Arm NEON 指令,使用起来非常简单。如果你想要低调和肮脏,你也可以手动使用 NEON 指令集,但我认为即使在运行时明智地与 vDSP 相提并论将是一个挑战,特别是如果你只需要像 FFT 这样的开箱即用功能。
如果您想自己测试 NEON 引擎,有一个很棒的 benchmark作为测试常规与 NEON 计算的 Android 设备的 APK。您唯一需要注意的是,如果您的数据大于 L1 缓存,则 L2 缓存访问将成为限制因素,如果您甚至超过这个,也不会有明显的运行时优势。
关于ios - iOS 上 GPU 上的快速傅里叶变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26020758/
我正在尝试从底层叶进程写入命名管道并从顶层进程的管道读取。 为此,我首先在顶级进程中创建 FIFO,然后使用 for 循环派生更多进程。在 for 循环中,我正在检查叶子进程,如果它是叶子,我正在写入
我需要一个XPath表达式来验证XML列表元素是否只有某种类型的节点。 例: 我需要知道列表中是否只有图像。
我想从层次结构表中获取所有叶子及其根。叶子是最低层节点,根是最顶层节点。 给定一棵树: A --B --C --D E --F --G --H 叶子是节点:C, D根是:A、E 该表如下所
尝试从嵌套数组中删除相同的 sibling (叶子)/相同的数组。 例如 $data = [ 'test' => [ 'a' => [
我可以遍历目录并只打印文件夹/目录名称,但我想排除包含其他目录的目录的文件夹名称。出于某种原因,我称其为树结构中的“最终节点”,但我很可能是在自欺欺人,这不是第一次了。 =) 在审查其他答案列表时,也
我现在经常使用 Folium,在 Python 中拥有如此易于使用的东西真的很棒。但是他们的文档严重落后,我理解。所以我有2个问题。 我在尝试获得更多标记颜色时做错了什么?这是我尝试过的:map.si
我正在尝试使用 ape 包中的 plot.phylo 命令为 R 中系统发育类型图的边缘(线)添加颜色。这个例子是一个“粉丝”类型的图,虽然我希望这个方法与“系统图类型”或其他任何东西相同。 libr
我正在尝试呈现一个 JTree 叶以具有包含可编辑 JTextArea 的 JPanel,以便用户可以输入文本并能够在添加文本时向下滚动, 并且还使用包装器来限制文本的宽度,使其向下延伸以留出更多空间
这是要修改的正确 Linux 内核代码吗?我如何进行更改以模拟 CPUID 代码以及我需要更改哪个函数。谢谢 #include #include #include #include #incl
我是一名优秀的程序员,十分优秀!