000146053 001__ 146053 000146053 005__ 20241122150934.0 000146053 037__ $$aTAZ-TFM-2023-057 000146053 041__ $$aspa 000146053 1001_ $$aHerguido Sevil, Raúl 000146053 24200 $$aHeterogeneous System Optimization and Scheduling with SYCL/oneAPI. 000146053 24500 $$aOptimización y Planificación en Sistemas Heterogéneos sobre SYCL/oneAPI. 000146053 260__ $$aZaragoza$$bUniversidad de Zaragoza$$c2023 000146053 506__ $$aby-nc-sa$$bCreative Commons$$c3.0$$uhttp://creativecommons.org/licenses/by-nc-sa/3.0/ 000146053 520__ $$aLos requisitos actuales de cómputo y consumo energético requieren del uso de aceleradores de propósito específico en los que descargar trabajo de la CPU. Estos sistemas heterogéneos, compuestos por diversos dispositivos de cómputo, son difíciles de programar por las diferencias entre dispositivos. Existen modelos de programación como oneAPI para facilitar su programación. Este trabajo explora y evalúa las diferentes opciones de optimización de kernels que ofrece oneAPI para FPGAs en múltiples benchmarks, centrándose en el patrón parallel for. También evalúa la posibilidad de realizar coejecución CPU-FPGA con distintos planificadores. El soporte de oneAPI no está maduro, particularmente para la FPGA y su coejecución, por lo que se ha requerido un gran esfuerzo para entender y probar el funcionamiento de las características de oneAPI. La implementación de diferentes optimizaciones, generalmente relacionadas con el acceso a memoria y el paralelismo en ejecución de bucles, ha reportado speedups 7.3 hasta 634.26 frente a versiones poco optimizadas. Se corrobora que pese a haber portabilidad funcional no la hay en rendimiento. Además, esta portabilidad se ve reducida con la implementación de optimizaciones, al igual que lo hace su usabilidad por requerir tamaños de problema concretos. Las extensas pruebas de ejecución heterogénea con ambos dispositivos ejecutando oneAPI han funcionado para ejemplos sencillos pero no con kernels optimizados por lo que no se considera soportada durante la realizacion de este trabajo. La potencia de la FPGA al emplear kernels optimizados dificulta la coejecución CPU-FPGA por la disparidad de rendimiento entre dispositivos, por lo que ninguno de los planificadores evaluados (estático, dinámico, hguided) ha resultado efectivo. Se han podido probar las ́ultimas versiones tanto software como hardware haciendo uso de la plataforma Devcloud proporcionada por Intel.<br /><br /> 000146053 521__ $$aMáster Universitario en Ingeniería Informática 000146053 540__ $$aDerechos regulados por licencia Creative Commons 000146053 700__ $$aGran Tejero, Rubén$$edir. 000146053 700__ $$aSuárez Gracia, Darío$$edir. 000146053 7102_ $$aUniversidad de Zaragoza$$bInformática e Ingeniería de Sistemas$$cArquitectura y Tecnología de Computadores 000146053 8560_ $$f759013@unizar.es 000146053 8564_ $$s1760143$$uhttps://zaguan.unizar.es/record/146053/files/TAZ-TFM-2023-057.pdf$$yMemoria (spa) 000146053 909CO $$ooai:zaguan.unizar.es:146053$$pdriver$$ptrabajos-fin-master 000146053 950__ $$a 000146053 951__ $$adeposita:2024-11-22 000146053 980__ $$aTAZ$$bTFM$$cEINA 000146053 999__ $$a20230127221825.CREATION_DATE