000106856 001__ 106856
000106856 005__ 20210909132518.0
000106856 037__ $$aTAZ-TFG-2021-2361
000106856 041__ $$aspa
000106856 1001_ $$aHerguido Sevil, Raúl
000106856 24200 $$aA survey of oneAPI programming model for heterogeneous systems with CPU and FPGA
000106856 24500 $$aEvaluación del modelo de programación oneAPI para ejecución heterogénea con CPU y FPGA
000106856 260__ $$aZaragoza$$bUniversidad de Zaragoza$$c2021
000106856 506__ $$aby-nc-sa$$bCreative Commons$$c3.0$$uhttp://creativecommons.org/licenses/by-nc-sa/3.0/
000106856 520__ $$aLa demanda de potencia de cómputo continúa aumentando a la vez que se exige también un mejor consumo energético.<br />Desgraciadamente, en la actualidad, los procesadores de propósito general no satisfacen ambos requerimientos. Una solución empleada es el uso de dispositivos de dominio específico, que ofrecen grandes prestaciones para un conjunto reducido de tareas. Al juntar múltiples dispositivos aceleradores se crean sistemas heterogéneos, que mejoran la eficiencia a costa de dificultar la programación. Para abstraer al programador de las diferencias entre dispositivos han surgido varios modelos de programación, siendo oneAPI uno de los más recientes.<br />Este trabajo evalúa oneAPI adaptando un runtime heterogéneo para ejecutar el patrón parallel_for sobre CPU-FPGA. El soporte de oneAPI no está maduro, y ha requerido un gran esfuerzo entender su funcionamiento y las diferentes opciones que ofrece. Para evaluar el rendimiento y la programabilidad, se ha comparado una nueva implementación en C++ de múltiples benchmarks frente a una implementación oneAPI ejecutada en CPU y en FPGA.<br />Se ha mejorado el código oneAPI de los benchmarks (proveniente de la colaboración con la Universidad de Cantabria y optimizado para GPU) para su ejecución en FPGA, obteniendo speedups entre 1.43 y 116.7 frente a la versión no optimizada. También se ha optimizado la ejecución en CPU, obteniendo entre un 3.55 y 6.28 de mejora frente a la versión sin optimizar.<br />Con fin de aprovechar el sistema al completo, se ha evaluado el rendimiento de la ejecución cooperativa entre CPU (que ejecuta C++ nativo paralelizado) y FPGA (que ejecuta oneAPI optimizado para FPGA), empleando tres planificadores de ejecución diferentes (estático, dinámico y hguided). Los resultados demuestran hasta 1.26 veces mejor rendimiento (sobre un máximo de 1.29) que la mejor versión no cooperativa, lo que supone una eficiencia del 98%.<br />Se han alcanzado todos los objetivos iniciales del Trabajo Fin de Grado, a pesar de las dificultades técnicas que Intel oneAPI presenta debido a su reciente lanzamiento.<br /><br />
000106856 521__ $$aGraduado en Ingeniería Informática
000106856 540__ $$aDerechos regulados por licencia Creative Commons
000106856 700__ $$aSuárez Gracia, Darío$$edir.
000106856 700__ $$aGran Tejero, Rubén$$edir.
000106856 7102_ $$aUniversidad de Zaragoza$$bInformática e Ingeniería de Sistemas$$cArquitectura y Tecnología de Computadores
000106856 8560_ $$f759013@unizar.es
000106856 8564_ $$s2428213$$uhttps://zaguan.unizar.es/record/106856/files/TAZ-TFG-2021-2361.pdf$$yMemoria (spa)
000106856 909CO $$ooai:zaguan.unizar.es:106856$$pdriver$$ptrabajos-fin-grado
000106856 950__ $$a
000106856 951__ $$adeposita:2021-09-09
000106856 980__ $$aTAZ$$bTFG$$cEINA
000106856 999__ $$a20210623125353.CREATION_DATE