Publication:
Análisis del uso del Polyhedral Model en herramientas de generación automática de código CUDA

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2011
Advisors (or tutors)
Tenllado Van der Reijden, Christian
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
En los últimos tiempos ha habido avances muy importantes en compiladores para arquitecturas paralelas motivados en parte por la consolidación de procesadores multicore en el ámbito de los procesadores de propósito general. También hemos sido testigos de la profunda evolución de los chips gráficos, en un primer momento empleados únicamente para procesar y renderizar imágenes para su visualización, pero que en la actualidad se usan también como coprocesadores para cálculo de propósito general. Generar “buen” código para este tipo de arquitectura es mucho más complejo que en un procesador de propósito general debido principalmente por la complejidad del hardware y su jerarquía de memoria. Ante este problema surge el reto de desarrollar una herramienta que de forma automática o semiautomática guíe al programador en la toma de decisiones con el objetivo de crear una aplicación que explote adecuadamente dicha arquitectura. El Polyhedral Model es un framework matemático para optimización de bucles que ha demostrado ser muy útil en la generación de código paralelo para procesadores de propósito general. Existen algunas propuestas encaminadas al empleo de este framework para la generación automática de código en tarjetas gráficas donde también sería de gran de gran utilidad lo que ha motivado el comienzo su desarrollo en este ámbito. El propósito de este trabajo es analizar estas herramientas, estudiar el código generado, examinar defectos del proceso de generación de código y por último proponer mejoras. [ABSTRACT] There have been important advances in parallel compilers recently motivated partially by multicore processors consolidation. We have also been witnesses of a deep evolution in graphical hardware, first used to render images, but also used as co-processors for general- purpose computation nowadays. To generate a “good” code is much more complex in this architecture due to a complex hardware and its particular memory hierarchy. Faced this problem, it arises a challenge of developing a tool which guide automatically or a least in semiautomatic way to programmers in order to create an efficient application in terms of parallel exploitation. Polyhedral Model is a mathematical framework for loop nest optimization that has proven to be useful to reach an efficient parallel code in general purpose processors. There are some proposals to use this framework for automatic code generation in graphic scope which has motivated an interesting early development. The aim of this work is to analyze these tools, study the code generated, detect potential generation faults, and finally suggest improvements.
Description
Máster en Investigación en Informática, Facultad de Informática, Departamento de Arquitectura de Computadores y Automática, curso 2010-2011
Keywords
Citation