Navegación

Búsqueda

Búsqueda avanzada

Resultados de búsqueda para LLVM

Optimización de programas software considerando la incertidumbre del tiempo de ejecución

Proponemos en este trabajo un nuevo problema combinatorio para la optimización automática de programas, de forma que puedan sacar el máximo rendimiento de una arquitectura hardware considerada. Calcular el tiempo de ejecución de un programa es una tarea complicada, ya que est+AOE sujeta a una elevada incertidumbre. En este trabajo se estudian siete métodos distintos para estimar el tiempo de ejecución de los programas optimizados teniendo en cuenta la incertidumbre del sistema, y se comparan los resultados obtenidos con cada uno de ellos. Los resultados conseguidos permiten mejorar el tiempo de ejecución del programa original en un 33+ACU.

Autores: José M. Aragón-Jurado / Juan Carlos de la Torre / Carlos Benito-Jareño / Bernabe Dorronsoro / 
Palabras Clave: Algoritmo genético celular - Incertidumbre - LLVM - Optimización de programas

Predicción del impacto de las transformaciones LLVM en el rendimiento del software

Tradicionalmente ha existido una rápida evolución del hardware de computación que, en los últimos años, se ha visto complementada con la aparición de una gran diversidad de arquitecturas hardware. Modificar el software para que funcione eficientemente en estas nuevas arquitecturas es un proceso muy costoso, pero necesario en muchos casos. Por tanto, es necesario el desarrollo de nuevos métodos que permitan adaptar los programas para ejecutarse eficientemente en cualquier hardware; en poco tiempo y a un bajo coste. Nuestro framework Faevol hace uso de las transformaciones de código de herramienta de compilación LLVM para realizar esta adaptación de forma automática. El impacto de dichas transformaciones en el rendimiento del programa es desconocido, puesto que depende enormemente de las otras transformaciones aplicadas, así como del software a optimizar y del hardware en el que se ejecuta. Esto complica enormemente el proceso. En este trabajo, desarrollamos dos modelos predictivos basados en aprendizaje computacional para estimar de forma precisa el impacto de una secuencia de transformaciones LLVM en el código de un programa software. Adicionalmente, se evalúa el impacto en los resultados de incorporar dichos modelos predictivos en Faevol, logrando mejorar notablemente el tiempo necesario para transformar el código sin impactar negativamente en los resultados obtenidos.

Autores: Juan Carlos de La Torre / Patricia Ruiz / Pedro L. Galindo / Bernabe Dorronsoro / 
Palabras Clave: Artificial neural networks - LLVM - multi-objective optimization - Software optimization

No encuentra los resultados que busca? Prueba nuestra Búsqueda avanzada