Section: Highlights of the Year
Highlights of the Year
Scientific Results
2015 showed good successes, in terms of scientific results, with respect to the objectives we fixed for Compsys III, i.e., pushing static compilation beyond its present limits, both in terms of techniques and applications, bridging the gap between polyhedral techniques and abstract interpretation, sequential codes and parallel specifications, backend and frontend techniques. Important advances in 2015 are as follows:

Towards a polynomial model We developed new techniques to handle polynomials (see Section 7.11 ) and thereby generalizing polyhedral (e.g., affine) techniques, with applications to the analysis of the OpenStream parallel language (see Section 7.10 ).

Handling parallel specifications In complement to our current studies of parallel languages such as X10 (see Sections 7.8 and 7.9 ) and OpenStream (see Section 7.10 ), and kernel offloading with pipelined specifications (see Section 7.7 ), we succeeded to extend liveness analysis (see Section 7.12 ) and array contraction (see Section 7.13 ) to parallel specifications.

Enhancing interactions between programmer and compiler This is an important challenge for the expansion of the applicability of our techniques. The work exposed in Sections 7.9 and 7.15 (effort for collecting and analyzing real applications), as well as the interaction with users of HPC, including the organization a joint spring school in 2016, are important steps in this direction.

Links with abstract interpretation and SMT solvers The extension of our previous work on loop termination, with an iterative technique relying on SMT solvers for exhibiting counterexamples (see Section 7.4 ), is an interesting combination of polyhedral and abstract interpretation techniques. This is the case also for the array analysis of Section 7.3 .

Backend analysis Considering backend optimizations remains important, as complementary to frontend optimizations. See the results on register spilling (Section 7.1 ), pointer analysis (Section 7.2 ), liveness analysis (Section 7.12 ), the latter exploiting the fact that a polyhedral representation of arrays and loops is a symbolic unrolled view of registers and traces.
Awards
The CC'15 paper on parametric tiling [3] was nominated as a best paper candidate for the group of conferences ETAPS'15 where, unfortunately, CC papers never finally got an award.
End of Compsys
Compsys exists since 2012 as an Inria team. It has been created in 2004 as an Inria projectteam, and evaluated by Inria first in 2007, then in 2012. It will again be evaluated in March 2016, which will be its final evaluation as an Inria projectteam is limited to 12 years. The construction of a new project is thus necessary. The research directions of Compsys III were already a shift towards this future project. A few tentative research directions may be:

Shift the application domain from embedded systems to high performance computing (HPC) but at small scale (desktop HPC: FPGA, GPU, multicores). In fact, the two ecosystems are nowadays slowly converging.

A stronger attention to real HPC users and real HPC applications may lead to better programming models (“putting the programmer in the loop”).

Design new models of programs. The polynomial model is but an example.

Explore the synergy between parallel programming and program verification and certification; in particular, import approximation methods from one field to the other. Abstract interpretation is a case in point.
However, while its field of expertise, compilation for parallel and heterogeneous systems, is still of crucial importance, the unexpected departure in Sep. 2015 of two of its staff members makes it difficult to have a clear view of the future.