para descargar android image-processing gpu

descargar - opengl es 3.1 android download



ProgramaciĆ³n de GPU en dispositivos Android (3)

1) ¿Programar la GPU del teléfono inteligente y programar otra GPU (Nvidia GeForce 9 por ejemplo) son iguales?

No siempre. Por ejemplo, dependiendo de las API y la plataforma de hardware que utilice, algunos dispositivos móviles le permiten desarrollar exactamente el mismo programa que para la GPU de escritorio.

Por ejemplo, si realiza el programa CUDA en dispositivos Tegra K1 / X1, sería casi lo mismo que lo haría en GeForce 9.

Pero, si usas OpenCL, debes tener cuidado. Algunos dispositivos móviles solo admiten OpenCL Embedded Profile, lo que significa que las funciones son limitadas en comparación con la GPU de escritorio. Incluso si algunos dispositivos móviles admiten el perfil completo de OpenCL, aún tiene menos recursos con los que lidiar, por lo tanto, el programa aún debe modificarse para adaptarse a las plataformas móviles.

2) He reunido sobre computación o programación gráfica para GPU: ¿cuál es la diferencia? ¿Son iguales?

La programación gráfica se enfoca más en la representación gráfica. El objetivo es dibujar algo en la pantalla. Las principales API que necesitarías para el teléfono serían OpenGL ES para Android, Metal para iOS o DX para Windows.

El cálculo para GPU significa que desea finalizar algunas tareas no relacionadas con la representación gráfica, en cambio, necesita calcular alguna ecuación o calcular algunos valores a partir de los números de entrada. Por ejemplo, es posible que desee filtrar una imagen o procesar un video, etc. Las principales API para el cálculo son OpenCL, CUDA y Metal.

3) Ya configuré Eclipse para desarrollar aplicaciones de Android: ¿qué otras herramientas necesito?

Necesitas Android NDK por supuesto. Necesita bibliotecas OpenCL o SDK para el dispositivo móvil que tiene.

4) ¿La programación de GPU de Smartphone (para Android) es independiente del dispositivo? ¿Es lo mismo para Samsung S4, LG G3 y otros dispositivos Android?

Por supuesto, la capacidad del dispositivo tiene una gran diferencia en lo que puede hacer. La principal diferencia está en el chipset utilizado en el teléfono. Eso determinará qué SDK debe usar y las características del hardware serán muy diferentes.

Otra cosa a tener en cuenta es que la programación de la GPU no suele ser portátil por el rendimiento debido a la enorme diferencia de hardware. Por lo tanto, un código fuente muy bien optimizado en un teléfono podría no ser el mejor en otro teléfono.

5) ¿Qué biblioteca necesito? Tengo una lista de OpenCV y Tegra pack de Nvidia.

OpenCV es una biblioteca de visión artificial. Si lo necesita o no, depende de los tipos de algoritmos en los que trabaje. Si sus aplicaciones dependen en gran medida de algunos algoritmos de procesamiento de imágenes y de visión de computadora, es posible que encuentre OepnCV útil. Pero definitivamente siempre puedes comenzar con tus propias bibliotecas simples.

Tegra NVPack no es nada especial. Es solo un paquete de software / SDK que contiene el desarrollo de Android SDK, NDK, IDE y herramientas, junto con los SDK de NVidia. Siempre puede configurar su propio entorno instalando SDK y herramientas por separado. Pero si desarrollas para plataformas NVidia, el NVPack podría ser más fácil para ti.

No tengo conocimiento de la programación de GPU y me gustaría tener una visión general de esto. Debo desarrollar un proyecto de procesamiento de imágenes, trabajando en la GPU de los teléfonos inteligentes (en dispositivos Android), pero no sé por dónde empezar.

1) ¿Programar la GPU del teléfono inteligente y programar otra GPU (Nvidia GeForce 9 por ejemplo) son iguales?

2) Escuché sobre computación o programación gráfica para GPU: ¿cuál es la diferencia? ¿Son iguales?

3) Ya configuré Eclipse para desarrollar aplicaciones de Android: ¿qué otras herramientas necesito?

4) ¿La programación de GPU de Smartphone (para Android) es independiente del dispositivo? ¿Es lo mismo para Samsung S4, LG G3 y otros dispositivos Android?

5) ¿Qué biblioteca necesito? Escuché sobre OpenCV y Tegra pack de Nvidia.

¿Me puede ayudar con esto? Además, ¿puedes ayudarme con algún enlace dirigido?


Una forma sencilla de obtener acceso a la GPU en Android es mediante OpenGL ES. El SDK de Android expone todo el OpenGL ES en java https://www.khronos.org/opengles/sdk/docs/man/

OpenGL ES le permite escribir shaders en GLSL (Open GL Shading Language) y compilarlos en la GPU en tiempo de ejecución. https://www.opengl.org/documentation/glsl/

Este código GLSL se ejecuta directamente en la GPU.

Para obtener más información sobre OpenGL ES en Android, se puede encontrar en los Documentos de Android http://developer.android.com/guide/topics/graphics/opengl.html

Este es un enfoque muy nativo. El uso de bibliotecas depende completamente de lo que quiere lograr con la GPU


Android usa OpenGL ES (Open Graphics Libary para sistemas integrados)

Hay diferentes versiones de OpenGL ES. Recomiendo usar 2.0, pero también puedes usar versiones 1.0 o superiores.

La mayoría de los teléfonos admiten 2.0, tienes más opciones y es más rápido que 1.0

Aprender OpenGL es difícil y puede tomar un tiempo. Aquí hay un buen tutorial para obtener una descripción general: http://blog.db-in.com/all-about-opengl-es-2-x-part-1/

Los teléfonos inteligentes de Apple también usan OpenGL ES, por lo que si lo aprendes para Android, también lo puedes usar para iphones.

Y sí, todos los dispositivos Android utilizan OpenGL.