如何检查 vDSP 函数在 neon 上运行的是标量还是 SIMD

2024-02-24

我目前正在使用 vDSP 框架中的一些函数,尤其是 vDSP_conv,我想知道是否有任何方法可以检查该函数是否调用标量模式或在 neon 处理器上处理 SIMD。
The 文档 https://developer.apple.com/library/mac/documentation/Accelerate/Reference/vDSPRef/Reference/reference.html#//apple_ref/doc/uid/TP40009464-CH20-SW1该函数提到了必须满足的 power-pc 架构的一些标准或调用标量模式。现在我既不知道这些标准是否也适用于 iPhone,也不知道如何检查我的函数是否调用标量模式或在 neon 上正常运行。

有办法检查吗?
thanks!


vDSP_conv 实现中使用了 NEON 代码。它在某些情况下使用,而在其他情况下不使用。

我们(生产 vDSP 的 Vector and Numerics Group)没有发布有关哪些函数使用 NEON 的标准,部分原因是存在许多复杂的因素:每个调用的细节(跨步、长度和多个参数的对齐方式)、处理器模型代码执行的版本和软件版本。

如果您对具体案例有疑问,我也许可以进行调查。

您是出于好奇才问,还是表现不符合您的预期?一般来说,最根本的问题是实现的执行速度有多快以及是否可以做得更好。 SIMD 可能是其中某些目标的代表,但它不是真正的目标。

更新以解决以下评论:

调查最新 iOS 的源代码,看起来在进行关联时获取 SIMD 代码所需的只是在带有 NEON 的处理器上执行并将所有步幅设置为 1。但是,如果地址是对齐,因此如果将信号、过滤器和输出地址安排为 16 字节的倍数,则可能会在某些处理器型号上获得更好的性能。如果可以,请使用八的倍数作为过滤器元件的数量,但四的倍数也很好。

Unfortunately, the code is not O(n•log(n)); it uses direct arithmetic and not an FFT implementation, so it is O(n2). Generally, it is designed for shorter lengths, where direct arithmetic is suitable. If an FFT algorithm for correlation would help you, please file a feature request at https://bugreport.apple.com https://bugreport.apple.com.

无论使用哪种算法,如果您想要独立于长度的相同信息,那么较短的长度并不是更好。这是因为,如果您处理较短的长度,则必须以各种组合处理更多的长度才能获得相同的信息。我希望设计能够弄清楚您需要什么长度,以便相关性产生您需要的信息,然后使用该长度而不对其进行细分。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查 vDSP 函数在 neon 上运行的是标量还是 SIMD 的相关文章

  • Cordova iOS 自定义插件:处理内存警告

    我正在开发一个使用 cordova 2 1 和一些自定义插件的 iOS 应用程序 我试图面对的问题如下 当我展示我的插件时 基本上是一个比内置插件具有更多功能的相机插件 cordova 插件 有时我会收到内存警告并随后卸载 包含 web 视
  • iOS CoreBluetooth:状态保存和恢复

    希望在这里得到一些意见 在我当前的 iOS 项目中 我使用 CoreBluetooth 和 swift 该应用程序可以在后台使用 CoreBluetooth 进行通信 这基本上可以工作 外设需要与 iOS 设备建立有效连接才能按预期工作 每
  • Flutter“运行 pod install 时出错”“Pods-Runner”目标具有传递依赖项

    当尝试运行我的 flutter 项目时 我得到 运行 pod install 时出错 我看到另一个非常相似的post https github com flutter flutter issues 11856但我不确定我是否也遇到同样的问题
  • 如何在 Xcode 4 中安装 Cocos2d PROJECT 模板?

    我可能已经用 20 种不同的语法搜索了这个问题 但找不到答案 请帮忙 如何在 xcode 4 中安装 Cocos2d 项目模板 我尝试了不同的方法 但是当我在 Xcode 4 中构建新项目时它们仍然没有出现 帮助 下载 cocos2d ip
  • 如何在 Xcode 8 中更改应用程序显示名称以添加空格

    我试图在 Xcode 8 中的应用程序名称 独立贴纸包 中添加一个空格 我在这里看到的解决方案是更改产品名称 在包装中 或更改 捆绑显示名称 我更改了产品名称 但没有起作用 我清理 重建 重置模拟器中的内容和设置 并注销 xcode 重新登
  • Phonegap Cordova Statusbar 插件创建双栏

    我正在开发一个使用phonegap 的应用程序 通过 CLI 构建 而不是 PhoneGap 构建 我的 cordova plugin statusbar 插件有问题 打开时它将增加额外的条高度 这是它的样子 双高菜单栏 我通过两种方式实现
  • Objective C 中最好的多线程方法?

    我正在开发一个 iPad 应用程序 目前正在努力寻找多线程的最佳方法 让我用一个简化的例子来说明这一点 我有一个包含 2 个子视图的视图 一个目录选择器和一个包含所选目录中所有图像缩略图的图库 由于 下载 和生成这些缩略图可能需要相当长的时
  • GMSMarker 不透明度动画不重复

    我正在尝试使带有自定义图标的 GMSMarker 以衰减的动画不透明度闪烁 动画应该重复几次 但事实并非如此 它只执行一次转换 然后就停止了 这种情况仅在对不透明度属性进行动画处理时发生 在对其他属性进行动画处理时效果很好 这是代码 GMS
  • 如何为自定义手势识别器实现velocityInView:?

    我正在实施一个自定义UIGestureRecognizer子类 我想实施velocityInView 同样的方式UIPanGestureRecognizer已经做到了 但我不确定如何去做 如何计算以点 秒为单位的速度 Firstly 如果您
  • iPhone存储然后从Documents文件夹中读取文件

    这一定很容易 但我想将一个文件放在 文档 文件夹中 该文件在启动时读入 我有关于如何阅读的代码 并已确认其在正确的目录中查找 但是 当我保存在 xcode 中的 Resources 文件夹中时 我的文件 RootList txt 存储在 R
  • iOS 5 核心数据冻结

    我尝试做以下简单的事情 NSArray entities context executeFetchRequest inFetchRequest error fetchError 没有什么花哨 但这在 iOS 5 中冻结 在 iOS 4 中工
  • 填充占位符文本 ios

    我想让占位符文本显示在文本字段的中间 填充占位符文本 占位符文本的大小也需要增加 我的代码如下 我该如何解决这个问题 UITextField textField UITextField alloc initWithFrame CGRectM
  • 在iOS上模仿截图flash动画

    我正在寻找一种复制按 home lock 时播放的 闪烁 动画的方法 有谁知道这个动画是否可用 在 iOS 设备上 当您按下 home lock 并且屏幕闪烁白色时 您会截取屏幕截图 你说的是这个效果吗 如果是这样 请尝试以下操作 Add
  • 如何强制重装iOS模拟器?

    我想下载模拟器组件 Xcode 6 2 但在下载过程中我的互联网连接丢失了 Xcode 仍然显示我已经安装了 7 1 模拟器 你知道如何强制重装iOS模拟器吗 我已完成以下步骤 从 Library Caches com apple dt X
  • 如何从应用程序扩展启动父 iOS 应用程序

    有谁知道如何从应用程序扩展的视图控制器启动父应用程序 我只想从其应用程序扩展启动主应用程序 在 WWDC 会议上为 iOS 和 OS X 创建扩展 第 1 部分 https developer apple com videos wwdc 2
  • 使用 'vendored_frameworks' 和 'source_files' 对于 cocoapod 使用 'use_frameworks!'

    我正在构建一个 cocoapod 它基本上包含一个框架 私有源 和一个依赖于该框架的视图 开源 所有这些都是用 Objective C 制作的 在 podspec 中我有以下几行 spec vendored frameworks MyPod
  • -[NSCFString objectAtIndex:]:无法识别的选择器

    我有一个小问题 在谷歌中找不到 UITableView工作正常 直到我开始滚动 Error Message NSCFString objectAtIndex unrecognized selector sent to instance 0x
  • 无法转换“String!”类型的值预期参数类型错误

    我有一个公共职能 public func lastActivityFor userName String gt String 后来我想将其称为 OneLastActivity lastActivityFor username 但最后一行出现
  • 如何在 iOS 模拟器上打开开发者工具?

    我想打开开发者工具在 iOS 模拟器上 我在 2016 款 MacBook 上执行了以下步骤macOS 塞拉利昂 10 12 1并且不知道如何进一步 我已经安装了 Xcode 我创建了一个新的游乐场 右键单击 Xcode 停靠栏图标 然后单
  • 如何添加私有 Spec Repo 以使用私有 Pod?

    我完成了这个教程http guides cocoapods org making private cocoapods html http guides cocoapods org making private cocoapods html但

随机推荐