如何在 iPad A4 处理器上执行整数 SIMD 运算?
Posted
技术标签:
【中文标题】如何在 iPad A4 处理器上执行整数 SIMD 运算?【英文标题】:How do I Perform Integer SIMD operations on the iPad A4 Processor? 【发布时间】:2010-10-02 19:31:09 【问题描述】:我觉得需要速度。双 for 循环正在扼杀我的 iPad 应用程序性能。我需要 SIMD。如何在 iPad A4 处理器上执行整数 SIMD 操作?
谢谢, 道格
【问题讨论】:
【参考方案1】:指令集为NEON,intrinsics reference
我从来没有找到关于它们实际上是什么的好的文档。但是如果你接触过 SSE,你很快就会学会它
【讨论】:
这是一个图像处理应用程序。我需要将通常使用 LUT 完成的窗口级操作转换为 SIMD 操作。我需要尽可能快地触摸屏幕上的每个像素。使用 GPU + GLSL 会使事情变得复杂。 这可能会使事情复杂化,但它更可能更接近您真正想要完成的目标。【参考方案2】:为了获得最快的速度,您将不得不编写使用 NEON SIMD 操作的 ARM 汇编语言代码,因为 C 编译器通常不会生成非常好的 SIMD 代码,因此手工编写的汇编语言会产生很大的不同。我在这里有一个简短的介绍:http://www.shervinemami.co.cc/iphoneAssembly.html
请注意,iPad A4 使用 ARMv7-A CPU,因此 NEON SIMD 指令的参考手册位于:http://infocenter.arm.com/help/topic/com.arm.doc.ddi0406b/index.html (但它有 2000 页长,需要理解汇编代码,可能还需要了解 SIMD!)。
【讨论】:
以上是关于如何在 iPad A4 处理器上执行整数 SIMD 运算?的主要内容,如果未能解决你的问题,请参考以下文章
使用 iPhone 的 SIMD 浮点单元将浮点数转换为整数