¿Hay algún dispositivo Android en el que Renderscript se ejecute en la GPU en lugar de la CPU, o es algo que aún no se ha implementado en ninguna parte?¿Se puede ejecutar el renderscript de Android en una GPU?
Respuesta
No puedo confirmar con ninguna documentación oficial para Google, pero trabajo con RenderScript todos los días y cada vez que lo ejecuto, veo el informe de logcat cargando controladores para chips gráficos en mis dispositivos, especialmente Tegra 2. Google realmente ha quedado rezagado en la documentación de RenderScript, y no me sorprendería en absoluto si simplemente no hubieran corregido esta omisión en su discusión.
Gracias, ¿puedo preguntar en qué estás trabajando (solo curiosidad)? – fhucho
Tenemos un Motorola Xoom (Tegra 2), un Samsung Galaxy Tab 7.0+ (Mali-400MP), un Galaxy Nexus (SGX540) y un Galaxy S (Snapdragon) en los que probamos el código RenderScript, aunque el Xoom es lo que más utilicé. a menudo prueba porque suele ser el factor limitante debido a algunos problemas de Sprite con el Tegra 2. Si se refería al proyecto, es un motor de gráficos de propósito general para algunos de nuestros proyectos internos. – Jared
¡Gracias, buena suerte con el proyecto! – fhucho
El diseño de RenderScript es para que se ejecute en la GPU. Este fue el propósito principal de agregar el nuevo idioma. Supongo que hay dispositivos donde se ejecuta en la CPU debido a la falta de soporte, pero en la mayoría de los dispositivos se ejecuta en la GPU
Esto es incorrecto. A partir de Ice Cream Sandwich y Jelly Bean, Renderscript se ejecuta solo en la CPU. Google no ha agregado ningún soporte de GPU. Pero sí, la intención es que el código Renderscript se ejecute en la GPU y la CPU. – codetwiddler
Creo que esto puede depender de si está haciendo gráficos o operaciones de cálculo. Es probable que las operaciones gráficas se ejecuten en la GPU, pero las operaciones de cómputo no llegarán a lo que yo entiendo.
Cuando utiliza la construcción forEach, el cálculo se ejecutará en varios subprocesos en la CPU, no en la GPU (puede ver esto en el código fuente de ICS). En versiones futuras esto puede cambiar (vea https://events.linuxfoundation.org/slides/2011/lfcs/lfcs2011_llvm_liao.pdf) pero no he visto ningún anuncio.
Actualmente el lado de cómputo de renderScript sólo se ejecutará en la CPU:
Por ahora, calcular Renderscripts sólo puede tomar ventaja de núcleos de CPU, pero en el futuro, que potencialmente se puede ejecutar en otros tipos de procesadores como GPU y DSP.
Tomado de Renderscript dev guide.
El lado de los gráficos de Renderscript se encuentra en la parte superior de OpenGL ES para que los sombreadores se ejecuten en la GPU.
La GPU Mali-T604 de ARM proporcionará un objetivo para el lado de procesamiento de Renderscript (en una futura versión de Android?) (Vea ARM Blog entry).
Actualmente, solo se calcula la GPU Renderscript Nexus 10 seems to support.
- 1. ¿Cuántas tareas se pueden ejecutar simultáneamente en el dispositivo GPU?
- 2. Ejecutar el código C# en la GPU
- 3. Uso de SurfaceTexture en combinación con RenderScript
- 4. no se puede ejecutar node.js en el teléfono Android?
- 5. No se puede ejecutar Android ServiceTestCase
- 6. ¿Es posible ejecutar CUDA en GPU AMD?
- 7. Pasando Matriz a rsForEach en Renderscript Compute
- 8. OpenCL: ejecutar múltiples dispositivos CPU/GPU
- 9. No se puede ejecutar el caso de prueba JUnit 4 en el proyecto de Android Eclipse
- 10. No se puede ejecutar una instrucción COMPUTE
- 11. No se puede ejecutar el código fuente de Linphone-android en el dispositivo real
- 12. ¡No se puede ejecutar el comando Roo!
- 13. No se puede matar el kernel defectuoso que se ejecuta en la GPU NVIDIA
- 14. ¿Se puede ejecutar una función en la inicialización en c?
- 15. Error al intentar ejecutar el proyecto: no se puede iniciar el programa. No se puede encontrar el archivo especificado
- 16. ¿Qué código Java se puede mover a la GPU?
- 17. No se puede ejecutar el proyecto Android en Eclipse a pesar de no tener errores
- 18. No se puede ejecutar la aplicación de Android en el emulador/dispositivo: ¿la actividad no existe?
- 19. ¿Se puede ejecutar esto atómicamente?
- 20. ¿Tiene sentido ejecutar cálculos del nivel de kernel del sistema operativo en una GPU?
- 21. ¿Cómo ejecutar CUDA sin una GPU usando una implementación de software?
- 22. ¿Se puede ejecutar una aplicación VB en pantalla completa?
- 23. ¿Cómo se puede detectar el lanzamiento de una aplicación Android?
- 24. Android No se puede resolver el host
- 25. ¿Se puede ejecutar Xcode en Linux?
- 26. ¿Se puede ejecutar una tarea de SSIS desde .net?
- 27. No se puede ver la salida de depuración al ejecutar el emulador de Android
- 28. No se puede ejecutar el script PHP en Tomcat
- 29. No se puede ejecutar el programa "gradle" en Jenkins
- 30. ¿El compilador solo compilará el código que se puede ejecutar?
Se puede encontrar información más detallada con la comparación del rendimiento aquí: http://android-developers.blogspot.com/2013/01/evolution-of-renderscript-performance.html – keaukraine
Para ser específico, en Android 4.2 un nuevo concepto FilterScript era introducido. FilterScripts son RenderScripts más limitados y posiblemente se pueden ejecutar en GPU. Sin embargo, si se ejecuta realmente en la GPU será decidido por el soporte del proveedor. –