International audienceData-dependences need to be analyzed to guarantee the legality of a loop transformations and parallelization. But many dependences are spurious memory-based dependences: they are induced by storing values in the same memory location. Spurious dependences reduce the degrees of freedom in loop transformations and parallelization. The effective handling of spurious data-dependences in GIMPLE is essential for the effectiveness of polyhedral compilation in GCC. We show that most memory-based-dependences induced by the gimplification can be ignored, rather than scalar/array expanded. Our method relies on an extension of the violated-dependence-analysis technique implemented in GRAPHITE. It has a minimal impact on compilation...
False dependences are caused by the reuse of memory to store different data. These false dependences...
International audienceParallel architectures are now omnipresent in mainstream electronic devices an...
International audienceThis paper describes a tool using one or more executions of a sequential progr...
International audienceData-dependences need to be analyzed to guarantee the legality of a loop trans...
International audienceIncreasing data movement costs motivate the integration of polyhedral loop opt...
Selected for presentation at the HiPEAC 2013 Conf.International audienceTo preserve the validity of ...
International audienceModern compilers are responsible for adapting the semantics of source programs...
Graphite is the loop transformation framework that was introduced in GCC 4.4. This paper gives a det...
Over the past 20 years, increases in processor speed have dramatically outstripped performance incre...
Multi-core processors are now in widespread use in almost all areas of computing: desktops, laptops ...
The polyhedral model is known to be a powerful framework to reason about high level loop transformat...
International audienceWe study the parallelizing compilation and loop nest optimization of an import...
International audienceProgram optimizations, transformations and analyses are ap-plied to intermedia...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/18...
High-level loop transformations change the order in which basic computations in a program are execut...
False dependences are caused by the reuse of memory to store different data. These false dependences...
International audienceParallel architectures are now omnipresent in mainstream electronic devices an...
International audienceThis paper describes a tool using one or more executions of a sequential progr...
International audienceData-dependences need to be analyzed to guarantee the legality of a loop trans...
International audienceIncreasing data movement costs motivate the integration of polyhedral loop opt...
Selected for presentation at the HiPEAC 2013 Conf.International audienceTo preserve the validity of ...
International audienceModern compilers are responsible for adapting the semantics of source programs...
Graphite is the loop transformation framework that was introduced in GCC 4.4. This paper gives a det...
Over the past 20 years, increases in processor speed have dramatically outstripped performance incre...
Multi-core processors are now in widespread use in almost all areas of computing: desktops, laptops ...
The polyhedral model is known to be a powerful framework to reason about high level loop transformat...
International audienceWe study the parallelizing compilation and loop nest optimization of an import...
International audienceProgram optimizations, transformations and analyses are ap-plied to intermedia...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/18...
High-level loop transformations change the order in which basic computations in a program are execut...
False dependences are caused by the reuse of memory to store different data. These false dependences...
International audienceParallel architectures are now omnipresent in mainstream electronic devices an...
International audienceThis paper describes a tool using one or more executions of a sequential progr...