International audienceIncreasing data movement costs motivate the integration of polyhedral loop optimizers in the standard flow (-O3) of production compilers. While polyhedral optimizers have been shown to be effective when applied as source-to-source transformation, the single static assignment form used in modern compiler mid-ends makes such optimizers less effective. Scalar dependencies (dependencies carried over a single memory location) are the main obstacle preventing effective optimization. We present DeLICM, a set of transformations which, backed by a polyhedral value analysis, eliminate problematic scalar dependences by 1) relocating scalar memory references to unused array locations and by 2) forwarding computations that otherwis...
Many advances in automatic parallelization and optimization have been achieved through the polyhedra...
International audienceHigh-level loop optimizations are necessary to achieve good performanceover a ...
High-level loop transformations change the order in which basic computations in a program are execut...
International audienceIncreasing data movement costs motivate the integration of polyhedral loop opt...
International audienceThe polyhedral model is a powerful framework for automatic optimization and pa...
The polyhedral model is known to be a powerful framework to reason about high level loop transformat...
International audienceData-dependences need to be analyzed to guarantee the legality of a loop trans...
International audienceModern compilers are responsible for adapting the semantics of source programs...
International audienceWhile compilers offer a fair trade-off between productivity and executable per...
Nowadays, parallel computers have become ubiquitous and currentprocessors contain several execution ...
International audienceThere may be a huge gap between the statements outlined by programmers in a pr...
In order to take the performance advantages of the current multicore and heterogeneous architectures...
Massively parallel and heterogeneous systems together with their APIs have been used for various app...
Multi-core processors are now in widespread use in almost all areas of computing: desktops, laptops ...
International audienceHigh-level program optimizations, such as loop transformations, are critical f...
Many advances in automatic parallelization and optimization have been achieved through the polyhedra...
International audienceHigh-level loop optimizations are necessary to achieve good performanceover a ...
High-level loop transformations change the order in which basic computations in a program are execut...
International audienceIncreasing data movement costs motivate the integration of polyhedral loop opt...
International audienceThe polyhedral model is a powerful framework for automatic optimization and pa...
The polyhedral model is known to be a powerful framework to reason about high level loop transformat...
International audienceData-dependences need to be analyzed to guarantee the legality of a loop trans...
International audienceModern compilers are responsible for adapting the semantics of source programs...
International audienceWhile compilers offer a fair trade-off between productivity and executable per...
Nowadays, parallel computers have become ubiquitous and currentprocessors contain several execution ...
International audienceThere may be a huge gap between the statements outlined by programmers in a pr...
In order to take the performance advantages of the current multicore and heterogeneous architectures...
Massively parallel and heterogeneous systems together with their APIs have been used for various app...
Multi-core processors are now in widespread use in almost all areas of computing: desktops, laptops ...
International audienceHigh-level program optimizations, such as loop transformations, are critical f...
Many advances in automatic parallelization and optimization have been achieved through the polyhedra...
International audienceHigh-level loop optimizations are necessary to achieve good performanceover a ...
High-level loop transformations change the order in which basic computations in a program are execut...