Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Resources for doing GPU-accelerated computation (GPGPU) on the iPhone?

I'm interested in doing GPU-accelerated computation in iOS (for iPhones 3GS and 4). Unfortunately, neither device supports OpenCL, so it seems the only choice is to express the program data as graphics data and use the OpenGL ES 2.0 programmable shaders (vertex and fragment) to do the work. Can anyone recommend any resources that might be useful? Sample code is the holy grail.

like image 894
emchristiansen Avatar asked Jan 06 '11 03:01

emchristiansen


1 Answers

There are several ways to do this by now. If you want to support older devices, you should stick to OpenGL ES 2.0 shaders. There are the frameworks GPUImage and ogles_gpgpu for this. The latter even supports Android systems.

I've also written a master's thesis about this topic: Parallel Computing for Digital Signal Processing on Mobile Device GPUs.

You can do more advanced GPGPU things with OpenGL ES 3.0 now. Check out this post for example. Apple now also has the "Metal API" which allows even more GPU compute operations. Both, OpenGL ES 3.x and Metal are only supported by newer devices with A7 chip.

like image 51
IsaacKleiner Avatar answered Oct 26 '22 21:10

IsaacKleiner