<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
    <title>Project-Team:COMPSYS</title>
    <link rel="stylesheet" href="../static/css/raweb.css" type="text/css"/>
    <meta name="description" content="Highlights of the Year - Highlights of the Year"/>
    <meta name="dc.title" content="Highlights of the Year - Highlights of the Year"/>
    <meta name="dc.subject" content=""/>
    <meta name="dc.publisher" content="INRIA"/>
    <meta name="dc.date" content="(SCHEME=ISO8601) 2015-01"/>
    <meta name="dc.type" content="Report"/>
    <meta name="dc.language" content="(SCHEME=ISO639-1) en"/>
    <meta name="projet" content="COMPSYS"/>
    <!-- Piwik -->
    <script type="text/javascript" src="/rapportsactivite/piwik.js"></script>
    <noscript><p><img src="//piwik.inria.fr/piwik.php?idsite=49" style="border:0;" alt="" /></p></noscript>
    <!-- End Piwik Code -->
  </head>
  <body>
    <div class="tdmdiv">
      <div class="logo">
        <a href="http://www.inria.fr">
          <img style="align:bottom; border:none" src="../static/img/icons/logo_INRIA-coul.jpg" alt="Inria"/>
        </a>
      </div>
      <div class="TdmEntry">
        <div class="tdmentete">
          <a href="uid0.html">Project-Team Compsys</a>
        </div>
        <span>
          <a href="uid1.html">Members</a>
        </span>
      </div>
      <div class="TdmEntry">Overall Objectives<ul><li><a href="./uid3.html">Introduction</a></li><li><a href="./uid6.html">General Presentation</a></li><li><a href="./uid11.html">Summary of Compsys I Achievements</a></li><li><a href="./uid17.html">Quick View of Compsys II
Achievements and Directions for Compsys III</a></li></ul></div>
      <div class="TdmEntry">Research Program<ul><li><a href="uid21.html&#10;&#9;&#9;  ">Architecture and Compilation Trends</a></li><li><a href="uid36.html&#10;&#9;&#9;  ">Code Analysis, Code Transformations, Code Optimizations</a></li><li><a href="uid39.html&#10;&#9;&#9;  ">Mathematical Tools</a></li></ul></div>
      <div class="TdmEntry">Application Domains<ul><li><a href="uid41.html&#10;&#9;&#9;  ">Compilers for Embedded Computing Systems</a></li><li><a href="uid42.html&#10;&#9;&#9;  ">Users of HPC Platforms and Scientific Computing</a></li></ul></div>
      <div class="tdmActPage">
        <a href="./uid46.html">Highlights of the Year</a>
      </div>
      <div class="TdmEntry">New Software and Platforms<ul><li><a href="uid57.html&#10;&#9;&#9;  ">Aspic</a></li><li><a href="uid61.html&#10;&#9;&#9;  ">DCC</a></li><li><a href="uid64.html&#10;&#9;&#9;  ">Lattifold</a></li><li><a href="uid67.html&#10;&#9;&#9;  ">OpenOrdo</a></li><li><a href="uid69.html&#10;&#9;&#9;  ">PoCo</a></li><li><a href="uid72.html&#10;&#9;&#9;  ">PolyOrdo</a></li><li><a href="uid74.html&#10;&#9;&#9;  ">PPCG-ParamTiling</a></li><li><a href="uid77.html&#10;&#9;&#9;  ">Termite</a></li><li><a href="uid81.html&#10;&#9;&#9;  ">Vaphor</a></li></ul></div>
      <div class="TdmEntry">New Results<ul><li><a href="uid86.html&#10;&#9;&#9;  ">Studying Optimal Spilling in the Light of SSA</a></li><li><a href="uid87.html&#10;&#9;&#9;  ">Symbolic Range of Pointers in C programs</a></li><li><a href="uid88.html&#10;&#9;&#9;  ">Analyzing C Programs with Arrays</a></li><li><a href="uid89.html&#10;&#9;&#9;  ">Termination of C Programs</a></li><li><a href="uid90.html&#10;&#9;&#9;  ">Data-aware Process Networks</a></li><li><a href="uid91.html&#10;&#9;&#9;  ">Mono-parametric Tiling</a></li><li><a href="uid92.html&#10;&#9;&#9;  ">Exact and Approximated Data-Reuse Optimizations
for Tiling with Parametric Sizes</a></li><li><a href="uid93.html&#10;&#9;&#9;  ">Analysis of X10 Programs</a></li><li><a href="uid94.html&#10;&#9;&#9;  ">Revisiting Loop Transformations with X10 Clocks</a></li><li><a href="uid95.html&#10;&#9;&#9;  ">Static Analysis of OpenStream Programs</a></li><li><a href="uid96.html&#10;&#9;&#9;  ">Handling Polynomials for Program Analysis and
Transformation</a></li><li><a href="uid97.html&#10;&#9;&#9;  ">Liveness Analysis in Explicitly-Parallel
Programs</a></li><li><a href="uid98.html&#10;&#9;&#9;  ">Extended Lattice-Based Memory Allocation</a></li><li><a href="uid99.html&#10;&#9;&#9;  ">Stencil Accelerators</a></li><li><a href="uid101.html&#10;&#9;&#9;  ">PolyApps</a></li></ul></div>
      <div class="TdmEntry">Bilateral Contracts and Grants with Industry<ul><li><a href="uid103.html&#10;&#9;&#9;  ">ManycoreLabs Project with Kalray</a></li><li><a href="uid104.html&#10;&#9;&#9;  ">Technological Transfer: XtremLogic Start-Up</a></li></ul></div>
      <div class="TdmEntry">Partnerships and Cooperations<ul><li><a href="uid106.html&#10;&#9;&#9;  ">Regional Initiatives</a></li><li><a href="uid110.html&#10;&#9;&#9;  ">National Initiatives</a></li><li><a href="uid115.html&#10;&#9;&#9;  ">European Initiatives</a></li><li><a href="uid118.html&#10;&#9;&#9;  ">International Initiatives</a></li><li><a href="uid126.html&#10;&#9;&#9;  ">International Research Visitors</a></li></ul></div>
      <div class="TdmEntry">Dissemination<ul><li><a href="uid136.html&#10;&#9;&#9;  ">Promoting Scientific Activities</a></li><li><a href="uid149.html&#10;&#9;&#9;  ">Teaching - Supervision - Juries</a></li><li><a href="uid176.html&#10;&#9;&#9;  ">Popularization</a></li></ul></div>
      <div class="TdmEntry">
        <div>Bibliography</div>
      </div>
      <div class="TdmEntry">
        <ul>
          <li>
            <a id="tdmbibentyear" href="bibliography.html">Publications of the year</a>
          </li>
          <li>
            <a id="tdmbibentfoot" href="bibliography.html#References">References in notes</a>
          </li>
        </ul>
      </div>
    </div>
    <div id="main">
      <div class="mainentete">
        <div id="head_agauche">
          <small><a href="http://www.inria.fr">
	    
	    Inria
	  </a> | <a href="../index.html">
	    
	    Raweb 
	    2015</a> | <a href="http://www.inria.fr/en/teams/compsys">Presentation of the Project-Team COMPSYS</a> | <a href="http://www.ens-lyon.fr/LIP/COMPSYS/index.html.en">COMPSYS Web Site
	  </a></small>
        </div>
        <div id="head_adroite">
          <table class="qrcode">
            <tr>
              <td>
                <a href="compsys.xml">
                  <img style="align:bottom; border:none" alt="XML" src="../static/img/icons/xml_motif.png"/>
                </a>
              </td>
              <td>
                <a href="compsys.pdf">
                  <img style="align:bottom; border:none" alt="PDF" src="IMG/qrcode-compsys-pdf.png"/>
                </a>
              </td>
              <td>
                <a href="../compsys/compsys.epub">
                  <img style="align:bottom; border:none" alt="e-pub" src="IMG/qrcode-compsys-epub.png"/>
                </a>
              </td>
            </tr>
            <tr>
              <td/>
              <td>PDF
</td>
              <td>e-Pub
</td>
            </tr>
          </table>
        </div>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid42.html" accesskey="P"><img style="align:bottom; border:none" alt="previous" src="../static/img/icons/previous_motif.jpg"/> Previous | </a>
          <a href="./uid0.html" accesskey="U"><img style="align:bottom; border:none" alt="up" src="../static/img/icons/up_motif.jpg"/>  Home</a>
          <a href="./uid57.html" accesskey="N"> | Next <img style="align:bottom; border:none" alt="next" src="../static/img/icons/next_motif.jpg"/></a>
        </div>
        <br/>
      </div>
      <div id="textepage">
        <!--DEBUT2 du corps du module-->
        <h2>Section: 
      Highlights of the Year</h2>
        <h3 class="titre3">Highlights of the Year</h3>
        <p>
          <big>
            <b>Scientific Results</b>
          </big>
        </p>
        <p>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, back-end and front-end
techniques. Important advances in 2015 are as follows:</p>
        <ul>
          <li>
            <p class="notaparagraph"><a name="uid47"> </a><b>Towards a polynomial model</b> We developed new techniques to handle
polynomials (see Section <a title="Handling Polynomials for Program Analysis and&#10;Transformation" href="./uid96.html">
	7.11</a> ) and thereby
generalizing polyhedral (e.g., affine) techniques, with applications to the
analysis of the OpenStream parallel language (see
Section <a title="Static Analysis of OpenStream Programs" href="./uid95.html">
	7.10</a> ).</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid48"> </a><b>Handling parallel specifications</b> In complement to our current
studies of parallel languages such as X10 (see
Sections <a title="Analysis of X10 Programs" href="./uid93.html">
	7.8</a> 
and <a title="Revisiting Loop Transformations with X10 Clocks" href="./uid94.html">
	7.9</a> ) and OpenStream (see
Section <a title="Static Analysis of OpenStream Programs" href="./uid95.html">
	7.10</a> ), and kernel offloading
with pipelined specifications (see
Section <a title="Exact and Approximated Data-Reuse Optimizations&#10;for Tiling with Parametric Sizes" href="./uid92.html">
	7.7</a> ), we succeeded to
extend liveness analysis (see
Section <a title="Liveness Analysis in Explicitly-Parallel&#10;Programs" href="./uid97.html">
	7.12</a> ) and array contraction (see
Section <a title="Extended Lattice-Based Memory Allocation" href="./uid98.html">
	7.13</a> ) to parallel
specifications.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid49"> </a><b>Enhancing interactions between programmer and compiler</b> This is an
important challenge for the expansion of the applicability of our techniques.
The work exposed in Sections <a title="Revisiting Loop Transformations with X10 Clocks" href="./uid94.html">
	7.9</a> 
and <a title="PolyApps" href="./uid101.html">
	7.15</a>  (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.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid50"> </a><b>Links with abstract interpretation and SMT solvers</b> The extension of
our previous work on loop termination, with an iterative technique relying on
SMT solvers for exhibiting counter-examples (see
Section <a title="Termination of C Programs" href="./uid89.html">
	7.4</a> ), is an interesting
combination of polyhedral and abstract interpretation techniques. This is the
case also for the array analysis of
Section <a title="Analyzing C Programs with Arrays" href="./uid88.html">
	7.3</a> .</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid51"> </a><b>Back-end analysis</b> Considering back-end optimizations remains
important, as complementary to front-end optimizations. See the results on
register spilling (Section <a title="Studying Optimal Spilling in the Light of SSA" href="./uid86.html">
	7.1</a> ), pointer
analysis (Section <a title="Symbolic Range of Pointers in C programs" href="./uid87.html">
	7.2</a> ), liveness analysis
(Section <a title="Liveness Analysis in Explicitly-Parallel&#10;Programs" href="./uid97.html">
	7.12</a> ), the latter exploiting the
fact that a polyhedral representation of arrays and loops is a symbolic
unrolled view of registers and traces.</p>
          </li>
        </ul>
        <p>
          <big>
            <b>Awards</b>
          </big>
        </p>
        <p>The CC'15 paper on parametric tiling <a href="./bibliography.html#compsys-2015-bid6">[3]</a>  was nominated
as a best paper candidate for the group of conferences ETAPS'15 where,
unfortunately, CC papers never finally got an award.</p>
        <p>
          <big>
            <b>End of Compsys</b>
          </big>
        </p>
        <p>Compsys exists since 2012 as an Inria team. It has been created in 2004 as an
Inria project-team, 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 project-team 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:</p>
        <ul>
          <li>
            <p class="notaparagraph"><a name="uid52"> </a>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.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid53"> </a>A stronger attention to real HPC users and real HPC applications may lead
to better programming models (“putting the programmer in the loop”).</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid54"> </a>Design new models of programs. The polynomial model is but an example.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid55"> </a>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.</p>
          </li>
        </ul>
        <p>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.</p>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid42.html" accesskey="P"><img style="align:bottom; border:none" alt="previous" src="../static/img/icons/previous_motif.jpg"/> Previous | </a>
          <a href="./uid0.html" accesskey="U"><img style="align:bottom; border:none" alt="up" src="../static/img/icons/up_motif.jpg"/>  Home</a>
          <a href="./uid57.html" accesskey="N"> | Next <img style="align:bottom; border:none" alt="next" src="../static/img/icons/next_motif.jpg"/></a>
        </div>
        <br/>
      </div>
    </div>
  </body>
</html>
