Martin Palkovic        


 

Loop transformations in general modify the order in which the iterations and statements within a loop body are executed. This could be beneficial for different reasons like enabling more parallelism in the application or improving locality of accessed data.

The research on automatic code loop transformations using the polyhedral model (which is most suited for loop transformations) started in the early seventies in the parallel processing community. Since that time the model improved and more transformations became feasible. The use is not limited to the parallel processing community any more. However the applications and the required properties to be able to apply the transformations are still relatively limited. This is because the model did not develop so fast as the growth of the application complexity. Thus, nowadays the loop transformations can be applied only on small kernels of modern programs.

The first goal of this PhD. is to show that also modern applications can be optimised using the polyhedral model iff the abstraction level is raised and some approximations are made. Thus, this PhD. focuses on optimising the relations (buffers) among small kernels the modern applications consist from. It will not look at optimising these ( already well optimised) small kernels.

The second goal of this PhD. is to show that optimising modern applications leads to multiobjective problem unlike optimising small kernels where single optimum exists. The loop transformations are still considered platform independent and the multiple optimae solutions correspond to different platforms later used for application mapping.