Est-il possible de programmer GPU pour Android
Je suis maintenant à la programmation sur Android, et je me demande si on peut utiliser GPGPU pour Android maintenant? Une fois, j'ai entendu dire que Renderscript pouvez éventuellement exécuter sur GPGPU dans l'avenir. Mais je me demande si il est possible pour nous de la programmation GPGPU maintenant? Et si c'est possible pour moi de programme sur l'Android GPGPU, où puis-je trouver des tutoriels ou des exemples de programmes? Je vous remercie pour votre aide et vos suggestions.
Jusqu'à présent, je sais que l'OpenGL ES de la bibliothèque est maintenant accéléré utiliser le GPU, mais je veux utiliser le GPU pour le calcul. Ce que je veux faire est d'accélérer le calcul de sorte que j'espère que d'utiliser certaines bibliothèques d'Api comme OpenCL.
source d'informationauteur Timothy | 2012-09-09
Vous devez vous connecter pour publier un commentaire.
Fait Renderscript de Calcul n'utilise pas le GPU à ce moment, mais il est conçu pour cela.
De Romain Gars qui travaille sur la plate-forme Android:
https://groups.google.com/d/msg/android-developers/m194NFf_ZqA/Whq4qWisv5MJ
oui , c'est possible .
vous pouvez utiliser renderscript ou opengGL ES 2.0 .
renderscript est disponible sur android 3.0 et au-dessus , et d'openGL ES 2.0 est disponible sur environ 95% des appareils.
Comme d'Android 4.2, Renderscript peut impliquer GPU dans les calculs (dans certains cas).
Plus d'informations ici: http://android-developers.blogspot.com/2013/01/evolution-of-renderscript-performance.html
Que je comprends,
ScriptIntrinsic
sous-classes sont bien optimisés pour fonctionner sur GPU sur le matériel compatible (par exemple, Nexus10 avec le Mali T604). Documentation:http://developer.android.com/reference/android/renderscript/ScriptIntrinsic.html
Bien sûr, vous pouvez décider d'utiliser OpenCL, mais Renderscript est garantie (par Google, qui fait partie d'Android lui-même) pour être en cours d'exécution, même sur du matériel qui ne prend pas en charge GPGPU calcul et l'utilisation de toute autre disposition de l'accélération des moyens pris en charge par le matériel, il est en cours d'exécution sur.
Il y a plusieurs options: Vous pouvez utiliser OpenGL ES 2.0, qui est soutenu par presque tous les appareils, mais a des fonctionnalités limitées pour le GPGPU. Vous pouvez utiliser OpenGL ES 3.0, avec lequel vous pouvez faire beaucoup plus en termes de traitement GPU. Ou vous pouvez utiliser RenderScript, mais c'est spécifique à la plateforme, et en outre ne vous donne aucune influence sur la décision de vos algorithmes exécutés sur le GPU ou le CPU. Un résumé sur ce sujet peuvent être trouvées dans ce mémoire de maîtrise: Le Calcul parallèle pour le Traitement du Signal Numérique sur un Appareil Mobile Gpu.
Vous devriez également vérifier ogles_gpgpuqui permet GPGPU via OpenGL ES 2.0 sur Android et iOS.