TAZ-TFG-2021-2361


Evaluación del modelo de programación oneAPI para ejecución heterogénea con CPU y FPGA

Herguido Sevil, Raúl
Suárez Gracia, Darío (dir.) ; Gran Tejero, Rubén (dir.)

Universidad de Zaragoza, EINA, 2021
Departamento de Informática e Ingeniería de Sistemas, Área de Arquitectura y Tecnología de Computadores

Graduado en Ingeniería Informática

Resumen: La demanda de potencia de cómputo continúa aumentando a la vez que se exige también un mejor consumo energético.
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.
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.
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.
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%.
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.


Tipo de Trabajo Académico: Trabajo Fin de Grado

Creative Commons License



El registro pertenece a las siguientes colecciones:
Trabajos académicos > Trabajos Académicos por Centro > Escuela de Ingeniería y Arquitectura
Trabajos académicos > Trabajos fin de grado



Volver a la búsqueda

Valore este documento:

Rate this document:
1
2
3
 
(Sin ninguna reseña)