Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

Explorando el desarrollo móvil avanzado: Crea filtros fotográficos con SYCL y la potencia de la GPU en tu teléfono

Loading...
Thumbnail Image

Official URL

Full text at PDC

Publication date

2024

Editors

Journal Title

Journal ISSN

Volume Title

Publisher

Citations
Google Scholar

Citation

Abstract

SYCL es un estándar de programación de dispositivos heterogéneos con una gran comunidad de empresas y desarrolladores en crecimiento que tiene como objetivo ser una interfaz de programación común para distintos aceleradores. En este trabajo se estudia la especificación SYCL 2020, viendo desde los elementos básicos de programación hasta la arquitectura de este estándar. Se implementan algunos algoritmos básicos de procesamiento de imágenes siguiendo este estándar, y se hace una prueba de ejecución en dispositivos para ver el rendimiento y la portabilidad que ofrece SYCL. Además, con el objetivo principal de este trabajo conseguir el uso de SYCL en Android, se exploran las diferentes implementaciones que tiene SYCL y que serían capaces de apuntar a los aceleradores de un dispositivo Android. También se hace un estudio de las diferentes maneras que existen de desarrollar hacia el sistema operativo Android utilizando C++. Se explora la posibilidad del uso del Kit de Desarrollo Nativo de Android, y también de Termux en un entorno nativo. Finalmente se trata de compilar AdaptiveCpp (una de las dos principales implementaciones de SYCL 2020) hacia Android siguiendo los procedimientos anteriores, y se comprueba el funcionamiento de dicha implementación en el sistema operativo utilizando los filtros creados anteriormente y utilizando SYCL-Bench, un conjunto de tests para analizar el rendimiento de SYCL.
SYCL is a programming standard for heterogeneous computing with a big and growing community of companies and developers and its main objective is to be a common programming interface for different accelerators. The present work studies the SYCL 2020 specification, from its basic programming blocks to its architecture. Some basic algorithm for image processing are implemented following this standard, and later tested on devices to see its performance and portability. Also, with this work’s main objective of achieving the use of SYCL in the Android operating system, the different implementations of SYCL that have the potential of using the accelerators of Android devices are explored. A study is made in the various existing ways of developing with C++ targetting Android. The usge of the Android’s Native Development Kit as well as Termux in a native environment are explored. Finally, AdaptiveCpp (one of the two major implementations of SYCL 2020) is compiled targetting Android following the previously studied procedures, and the functional implementation is tested in that operating system using previously implemented filters and SYCL-Bench, a standard SYCL benchmarking tool.

Research Projects

Organizational Units

Journal Issue

Description

Trabajo de Fin de Grado en Ingeniería de Computadores, Facultad de Informática UCM, Departamento de Arquitectura de Computadores y Automática, Curso 2023/2024

Keywords