Desarrollo de un compilador fuente-fuente (C a OpenCL) para FPGA. Aplicación sobre el SDK de Altera
This master thesis describes the "SOCAO" source-to-source compiler that translates C/C++ input sources into an OpenCL accelerated program. The concept is to accelerate a time consuming software function in a two step process. First it is transferred by the SOCAO compiler into an Op...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis de maestría |
| Fecha de publicación: | 2016 |
| País: | España |
| Institución: | Universitat Politècnica de València (UPV) |
| Repositorio: | RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia |
| Idioma: | español |
| OAI Identifier: | oai:riunet.upv.es:10251/92570 |
| Acceso en línea: | https://riunet.upv.es/handle/10251/92570 |
| Access Level: | acceso abierto |
| Palabra clave: | Compiler C OpenCL SoC Compilador Lenguaje C Lenguaje OpenCL FPGA HDL ScC TECNOLOGIA ELECTRONICA Máster Universitario en Ingeniería de Telecomunicación-Màster Universitari en Enginyeria de Telecomunicació |
| Sumario: | This master thesis describes the "SOCAO" source-to-source compiler that translates C/C++ input sources into an OpenCL accelerated program. The concept is to accelerate a time consuming software function in a two step process. First it is transferred by the SOCAO compiler into an OpenCL kernel. Afterwards the user can use the "Altera SDK for OpenCL" to translate the kernel into a custom circuit that can be executed on an FPGA. By using the SOCAO compiler, the software engineer can accelerate his program without knowledge in the fields of parallel computing or hardware design. The compiler contains functions and algorithms that analyze the input sources and autonomously make the best suitable decisions for the user. Results show a 50% to 280% increase of speed for three well-known algorithms. Nevertheless this work also addresses the challenges that have to be faced when a sequential program is translated into a parallel environment. Furthermore, the implementation of the compiler, the user-guide and the outcomes of the project are also explained in this work. |
|---|