Section: Overall Objectives
Introduction
- Keywords:
-
Compilation, code analysis, code optimization, memory optimization, combinatorial optimization, algorithmics, polyhedral optimization, hardware accelerators, high-level synthesis, high-performance computing, multicore, GPU, FPGA, DSP.
Compsys has been developing compilation techniques, more precisely code analysis and code optimization techniques, to help programming or designing “embedded computing systems” and platforms for “small” HPC (High-Performance Computing). The team focused first on both low-level (back-end) optimizations and high-level (front-end, mainly source-to-source) transformations, for specialized embedded processors (DSP) and high-level synthesis of hardware accelerators (FPGA). More recent activities included a shift towards abstract interpretation and program termination, the compilation for GPUs and multicores, and the analysis of parallel languages. The main characteristic of Compsys is its use of algorithmic and formal methods (with graph algorithms, linear programming, polyhedral optimizations) to address code analysis and optimization problems (e.g., termination, register allocation, memory optimizations, scheduling, automatic generation of interfaces) and the validation of these techniques through the development of compilation tools.
Compsys started as an Inria project in 2004, after 2 years of maturation. This first period of Compsys, Compsys I, was positively evaluated in Spring 2007 after its first 4 years period (2004-2007). It was again evaluated by AERES in 2009, as part of the general evaluation of LIP, and got the best possible mark, A+. The second period (2007-2012), Compsys II, was again evaluated positively by Inria in Spring 2012 and formally prolonged into Compsys III at the very end of 2012. In 2013, Fabrice Rastello moved to Grenoble first to expand the activities of Compsys in the context of Giant, a R&D technology center with several industrial and academic actors. He left officially the team in 2014 to work on his own. The research directions of Compsys III then followed the lines presented in the synthesis report provided for the 2012 evaluation, including a shift towards the compilation of streaming programming, the analysis and optimizations of parallel languages, and an even stronger focus on polyhedral optimizations and their extensions. While Christophe Alias was mostly involved in his developments of the Zettice/XtremLogic start-up, the hiring of Laure Gonnord (in 2013) and Tomofumi Yuki (in 2014) added new forces on the code analysis research aspects and on HPC polyhedral-related topics. However, Christophe Alias and Laure Gonnord left the team in Sep. 2015. Reaching the limit of 12 years, the project-team ended officially in Dec. 2015, but with no possible future as a new project, because it was below critical mass. Compsys was nevertheless extended as an Inria team until Dec. 2016, in particular to allow the (positive) final Inria evaluation in Spring 2016 and to let the last participants think about their future. At the end of 2016, Tomofumi Yuki moved back to Rennes in the Cairn Inria team, Paul Feautrier is still a member of LIP as an emeritus professor at ENS-Lyon but is now a long term visitor to the Parkas Inria team in Paris, and Alain Darte remains CNRS researcher at LIP, ENS-Lyon, but is not affiliated to Inria anymore.
Section 2.2 defines the general context of the team's activities. Section 2.3 presents the research objectives and main achievements in Compsys I, i.e., until 2007. Section 2.4 shows how the research directions of the team were modified for Compsys II and outlines the main results we obtained in this period (until 2012). Finally, Section 2.5 summarizes the goals and achievements of Compsys III. More details can be found in the annual Inria reports. As for the highlights of the past year, i.e., 2016, they are given in Section 5.1.