Compiler framework for the automatic detection of loop-level parallelism

Manuel Arenaz Silva · Dialnet (Universidad de la Rioja) · 2003

En esta tesis se presenta un entorno de compilacion para la deteccion de paralelismo de grano grueso en bucles que contienen computaciones complejas, tales como indirecciones y sentencias condicionales que introducen flujos de control complejos. El mecanismo de deteccion se lleva a cabo sobre la representacion GSA (Gated Single Assignment) del codigo fuente en dos fases. En primer lugar, se analizan las cadenas de uso-definicion (USE-DEF CHAINS) entre las sentencias que forman cada una de las componentes fuertemente conexas (Strongly Connected Components, SCCS) del grafo GSA. De esta manera, se detecta el Kernel basico computado en cada SCC. En segundo lugar, con el fin de detectar los Kernels computacionales mas complejos (y potencialmente paralelos) ejecutados en el Bucle, se realiza un analisis de las cadenas de uso-definicion entre sentencias pertenecientes a distintas SCCS. Este entorno proporciona un soporte de informacion para la aplicacion de tecnicas de optimizacion y paralelizacion para la aplicacion de tecnicas de optimizacion y paralelizacion de codigo. En concreto, en esta tesis se muestra su aplicacion para la generacion automatica de codigo paralelo eficiente. Finalmente, se ha desarrollado un prototipo de la tecnicas de deteccion y se ha verificado experimentalmente su efectividad sobre codigos reales mediante una comparativa exhaustiva con el copiladorparalelizador polaris

Read the paper · More papers on PaperTik