【发布时间】:2011-06-04 10:17:09
【问题描述】:
我有兴趣在 iOS 中进行 GPU 加速计算(适用于 iPhone 3GS 和 4)。不幸的是,这两种设备都不支持 OpenCL,因此似乎唯一的选择是将程序数据表示为图形数据并使用 OpenGL ES 2.0 可编程着色器(顶点和片段)来完成这项工作。任何人都可以推荐任何可能有用的资源吗?示例代码是圣杯。
【问题讨论】:
标签: iphone ios gpgpu opengl-es-2.0
我有兴趣在 iOS 中进行 GPU 加速计算(适用于 iPhone 3GS 和 4)。不幸的是,这两种设备都不支持 OpenCL,因此似乎唯一的选择是将程序数据表示为图形数据并使用 OpenGL ES 2.0 可编程着色器(顶点和片段)来完成这项工作。任何人都可以推荐任何可能有用的资源吗?示例代码是圣杯。
【问题讨论】:
标签: iphone ios gpgpu opengl-es-2.0
目前有几种方法可以做到这一点。如果您想支持旧设备,您应该坚持使用 OpenGL ES 2.0 着色器。为此,有 GPUImage 和 ogles_gpgpu 框架。后者甚至支持安卓系统。
我还写了一篇关于这个主题的硕士论文:Parallel Computing for Digital Signal Processing on Mobile Device GPUs。
您现在可以使用 OpenGL ES 3.0 执行更高级的 GPGPU 操作。例如,查看this post。 Apple 现在还拥有允许更多 GPU 计算操作的“Metal API”。 OpenGL ES 3.x 和 Metal 都只支持采用 A7 芯片的较新设备。
【讨论】:
我有一个简单的项目可以帮助您开始 GPU 编程。不过它在 GLSL 中。
我的项目的目的是创建一个小框架来测试不同的 GLSL 着色器。您只需编辑着色器文件,无需担心创建设置 OpenGL 管道和兼容 OpenGL 的 UIView 等。
【讨论】: