Otimização Unroll and Jam através da refatoração / Unroll and Jam optimization through refactoring

AUTOR(ES)
FONTE

IBICT - Instituto Brasileiro de Informação em Ciência e Tecnologia

DATA DE PUBLICAÇÃO

2011

RESUMO

The optimizations of a program can be performed on the intermediate code, generated during compilation time, or through the Performance Refactoring that consists of insertion of optimizations directly in the source code of the application. In the source code structure, iteration loops have a major impact in the performance of the application because they are time-consuming code and, thus, an essential target of optimizations. One loop optimization is the Unroll and Jam that applies restructuring operations in nested loops allowing efficient usage of memory hierarchy. Its optimization steps are: to unroll the target loops, and to join them forming a single block of instruction. This work proposes the usage of refactoring to automate Unroll and Jam loops in source code level, allowing to accumulate the effects of optimization in the original pro- gram with the optimizations in the intermediate code by traditional compilers. The im- plementation was based on structures of Photran tool 7.0, which consists of an integrated development environment for Fortran 77-2008. The performance results using Unroll and Jam by Performance Refactoring with dif- ferent levels of unrolling, showed significant gains compared to the optimization per- formed by the Intel compiler. It should also be noted that the joint of both optimization techniques has led to better results than the use of an individual technique. As future works, new researches can be performed to obtain optimal rates of unrolling and to join the application of other optimization approaches. Furthermore, studies may search for optimizations to be applied by the Performance Refactoring.

ASSUNTO(S)

optimization refatoração unroll and jam fortran fortran refactoring

Documentos Relacionados