2010-07-15 6 views
28

Con el impulso hacia los dispositivos móviles habilitados para multimedia, esta parece ser una forma lógica de aumentar el rendimiento en estas plataformas, al tiempo que se mantiene eficiente el software de uso general. Me interesó el hardware de IPad como una plataforma de desarrollo para UI y uso de visualización/entrada de datos. Pero tengo curiosidad de cuánta capacidad de procesamiento es capaz el dispositivo en sí mismo. OpenCL lo convertiría en una plataforma de hardware JUICY para desarrollar, a pesar de que la licencia parece que apesta.¿El IPad o el iPhone son capaces de OpenCL?

Respuesta

21

OpenCL aún no forma parte de iOS.

Sin embargo, los iPhones, toques iPod y el iPad más nuevos tienen GPU compatibles con OpenGL ES 2.0. 2.0 le permite crear sus propios sombreadores programables para ejecutar en la GPU, lo que le permitiría realizar cálculos en paralelo de alto rendimiento. Si bien no es tan elegante como OpenCL, es posible que puedas resolver muchos de los mismos problemas.

Además, iOS 4.0 trajo consigo el Accelerate framework que le da acceso a muchas operaciones comunes basadas en vectores para la informática de alto rendimiento en la CPU. Consulte la Sesión 202 - El marco Accelerate para iPhone OS en el WWDC 2010 videos para obtener más información al respecto.

+0

¿Hay una actualización sobre el estado de OpenCL en futuras versiones de iOS? He visto publicaciones como esta que datan de 2008 y estamos tratando de decidir si crear un marco de visión en OpenCL porque queremos poder ejecutarlo en iPhone y Android. ¿Entonces, alguna noticia? – twerdster

+1

@twerdster - Al igual que con cualquier cosa de Apple, nadie sabe qué traerá el futuro. Espere hasta el 6 de junio para averiguar qué vendrá el próximo año.Honestamente, comenzaría a implementar su sistema de procesamiento de visión usando sombreadores genéricos OpenGL ES 2.0, en lugar de esperar a OpenCL en iOS y Android. –

+0

Gracias por su aporte. Desafortunadamente, OpenGL ES 2.0 aún no es compatible con Android. Pero supongo que nos tomará 6 meses y podemos construir en iOS mientras tanto así que tal vez las cosas estarán disponibles en ese momento. – twerdster

1

OpenCL? No todavía. Una buena forma de adivinar los próximos marcos públicos en los iOS es mirando Private Frameworks Directory. Si ves lo que estás buscando, entonces hay posibilidades. Si no es así, espere la próxima versión y vuelva a mirar las cosas privadas. Supongo que CoreImage viene primero porque OpenCL tiene un nivel demasiado bajo;) De todos modos, esto es solo una suposición

8

¡Precaución! Esta pregunta está clasificada como el segundo resultado por google. Sin embargo, la mayoría de las respuestas aquí (incluida la mía) están desactualizadas. Las personas interesadas en OpenCL en iOS deberían visitar más entradas de actualización actualizada como esta - https://stackoverflow.com/a/18847804/443016.


http://www.macrumors.com/2011/01/14/ios-4-3-beta-hints-at-opencl-capable-sgx543-gpu-in-future-devices/

GPU del iPad2, PowerVR SGX543 es capaz de OpenCL.

Vamos a esperar y ver qué versión de iOS traerá API OpenCL para nosotros :)

+1

¿Hay alguna actualización al respecto? ¿El iPad 2 es compatible con OpenCL? – Diego

6

Después de nacho4d:.

En efecto, existe una OpenCL.framework en iOS5s directorio de marcos privados, lo que supondría iOS6 es el que debe mirar para OpenCL.

En realidad, lo he visto en los registros de fallos relacionados con OpenGL para mi iPad 1, aunque eso solo podría ser CPU (implementando partes de la pila de gráficos tal vez, como en OSX).

+0

¿Dónde está? No lo veo [aquí] (https://github.com/mattlawer/iOS5-Private-Frameworks). – LaC

+0

@LaC Hasta ahora solo está visible en los registros de bloqueo, como http://stackoverflow.com/questions/7976805/application-not-running-in-ios-5 y http://freeetime.com/forum/threads/24320 -OpenCL-in-iOS5 –

+0

@AdamDavis ¡gracias por la información! – LaC

3

Puede compilar y ejecutar código OpenCL en iOS utilizando el marco privado de OpenCL, pero es probable que no obtenga un proyecto en la App Store (Apple no quiere que use marcos privados).

Aquí es cómo hacerlo: https://github.com/linusyang/opencl-test-ios

Cuestiones relacionadas