Las reducciones paralelas en RenderScript
DOI:
https://doi.org/10.30973/progmat/2014.6.3/4Palabras clave:
procesamiento paralelo, RenderScript, unidades de procesamiento gráfico, gpu, gráfico, reducciónResumen
Desarrollar aplicaciones de procesamiento paralelo en los dispositivos móviles era considerado un mito por los investigadores, quienes creían que se necesitaban herramientas sofisticadas, de bajo nivel o de alta especialización. Google, para permitir el procesamiento gpgpu en dispositivos móviles con sistema operativo Android, desarrolló un nuevo lenguaje de programación llamado RenderScript. Esta herramienta fue diseñada principalmente para funcionar en diferentes componentes de procesamiento, tales como unidades centrales de procesamiento (cpu), procesadores de señal digital (dsp) y unidades de procesamiento gráfico (gpu) para lograr la portabilidad entre diferentes dispositivos móviles. Su diseño cuenta con un motor de ejecución de tiempo real que le permite decidir dónde y cómo ejecutar el código en paralelo; también puede elegir la ejecución de un código fuente entre una gpu, una cpu o una dsp. RenderScript tiene un nuevo componente llamado FilterScript, una herramienta que garantiza la compatibilidad con gpu y dsp. RenderScript es una plataforma para la computación heterogénea que difiere en la codificación y la abstracción del problema con otras plataformas que actualmente se utilizan como OpenCL y CUDA; sin embargo, este nuevo paradigma de paralelización no tiene estrategias claras para la reducción de los datos procesados. En este trabajo se presenta un nuevo algoritmo de reducciones paralelas en un dispositivo Android.
Citas
HungShuen Chen, JrYuan Chiou, ChengYan Yang, Yijui Wu, Weichung Hwang, HaoChien Hung, ShihWei Liao, Design and implementation of high-level compute on Android systems, Embedded Systems for Real-time Multimedia (ESTIMedia), 2013 IEEE 11th Symposium on, vol., no., pp.96, 104, 34 Oct. 2013. https://doi.org/10.1109/ESTIMedia.2013.6704508
Membarth, R., Reiche, O., Hannig, F., Teich, J., Code generation for embedded heterogeneous architectures on Android, Design, Automation and Test in Europe Conference and Exhibition (DATE), 2014, vol., no., pp.1, 6, 2428 March 2014. https://doi.org/10.7873/DATE.2014.099
ChengYan Yang, Yijui Wu, Liao, S., O2render: An OpenCLtoRenderScript translator for porting across various GPUs or CPUs, Embedded Systems for Real-time Multimedia (ESTIMedia), 2012 IEEE 10th Symposium on, vol., no., pp.67, 74, 1112 Oct. 2012. https://doi.org/10.1109/ESTIMedia.2012.6507031
C. M. Lin, J. H. Lin, C. R. Dow and C. M. Wen, Benchmark Dalvik and Native Code for Android System, in Innovations in Bio inspired Computing and Applications, 2011. https://doi.org/10.1109/IBICA.2011.85
T. M. Grønli, J. Hansen and G. Ghinea, Android vs Windows Mobile vs Java ME: a comparative study of mobile development environments, in Proceedings of the 3rd International Conference on PErvasive Technologies Related to Assistive Environments, Samos, Greece, 2010. https://doi.org/10.1145/1839294.1839348
Y. H. Lee, P. Chandrian and B. Li, Efficient Java Native Interface for Android Based Mobile Devices, in Trust, Security and Privacy in Computing and Communications (TrustCom), 2011 IEEE 10th International Conference on, Changsha, Hunan Province, P. R. China, 2011.https://doi.org/10.1109/TrustCom.2011.162
Descargas
Publicado
Cómo citar
Número
Sección
Licencia
Derechos de autor 2014 Programación Matemática y Software
Esta obra está bajo una licencia internacional Creative Commons Atribución 4.0.
Usted es libre de:
Compartir — compartir y redistribuir el material publicado en cualquier medio o formato. |
Adaptar — combinar, transformar y construir sobre el material para cualquier propósito, incluso comercialmente. |
Bajo las siguientes condiciones:
Atribución — Debe otorgar el crédito correspondiente, proporcionar un enlace a la licencia e indicar si se realizaron cambios. Puede hacerlo de cualquier manera razonable, pero de ninguna manera que sugiera que el licenciador lo respalda a usted o a su uso. |
Sin restricciones adicionales: no puede aplicar términos legales o medidas tecnológicas que restrinjan legalmente a otros a hacer cualquier cosa que permita la licencia. |