RT info:eu-repo/semantics/bachelorThesis T1 Developing a support for FPGAs in the Controller parallel programming model A1 Rodríguez Canal, Gabriel A2 Universidad de Valladolid. Escuela de Ingeniería Informática de Valladolid K1 Parallel programming K1 FPGA K1 OpenCL K1 Heterogeneous Computing AB La computación heterogénea se presenta como la solución para conseguir supercomputadores cada vezmás rápidos capaces de resolver problemas más grandes y complejos en diferentes áreas de conocimiento.Para ello, integra aceleradores con distintas arquitecturas capaces de explotar las características de losproblemas desde distintos enfoques obteniendo, de este modo, un mayor rendimiento.Las FPGAs son hardware reconfigurable, i.e., es posible modificarlas después de su fabricación. Estopermite una gran flexibilidad y una máxima adaptación al problema en cuestión. Además, tienen unconsumo energético muy bajo. Todas estas ventajas tienen el gran inconveniente de una más difícil programación mediante los propensos a errores HDLs (Hardware Description Language), tales como Verilog oVHDL, y requisitos de conocimientos avanzados de electrónica digital. En los últimos años los principalesfabricantes de FPGAs han enfocado sus esfuerzos en desarrollar herramientas HLS (High Level Synthesis)que permiten programarlas a través de lenguajes de programación de alto nivel estilo C. Esto ha favorecidosu adopción por la comunidad HPC y su integración en los nuevos supercomputadores. Sin embargo, elprogramador aún tiene que ocuparse de aspectos como la gestión de colas de comandos, parámetros delanzamiento o transferencias de datos.El modelo Controller es una librería que facilita la gestión de la coordinación, comunicación y losdetalles de lanzamiento de los kernels en aceleradores hardware. Explota de forma transparente sus modelosde programación nativos, en concreto OpenCL y CUDA, y, por tanto, consigue un alto rendimientoindependientemente del compilador. Permite al programador utilizar los distintos recursos hardwaredisponibles de forma combinada en entornos heterogéneos.Este trabajo extiende el modelo Controller mediante el desarrollo de un backend que permite laintegración de FPGAs, manteniendo los cambios sobre la interfaz de usuario al mínimo. A través de losresultados experimentales se comprueba que se consigue una disminución del esfuerzo de programaciónsignificativa en comparación con la implementación nativa en OpenCL. Del mismo modo, se consigueun elevado solapamiento entre computación y comunicación y un sobrecoste por el uso de la libreríadespreciable. YR 2020 FD 2020 LK http://uvadoc.uva.es/handle/10324/44412 UL http://uvadoc.uva.es/handle/10324/44412 LA eng DS UVaDOC RD 22-nov-2024