<?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>Team:STORM</title>
    <link rel="stylesheet" href="../static/css/raweb.css" type="text/css"/>
    <meta name="description" content="Overall Objectives - Overall Objectives"/>
    <meta name="dc.title" content="Overall Objectives - Overall Objectives"/>
    <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="STORM"/>
    <!-- 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">Team Storm</a>
        </div>
        <span>
          <a href="uid1.html">Members</a>
        </span>
      </div>
      <div class="tdmActPage">
        <a href="./uid3.html">Overall Objectives</a>
      </div>
      <div class="TdmEntry">Research Program<ul><li><a href="uid8.html&#10;&#9;&#9;  ">Parallel Computing and Architectures</a></li><li><a href="uid9.html&#10;&#9;&#9;  ">Parallel Computing and Architectures</a></li><li><a href="uid10.html&#10;&#9;&#9;  ">Towards More Abstraction</a></li></ul></div>
      <div class="TdmEntry">Application Domains<ul><li><a href="uid12.html&#10;&#9;&#9;  ">Supporting Numeric Libraries and
Scientific Simulation Applications</a></li></ul></div>
      <div class="TdmEntry">
        <a href="./uid14.html">Highlights of the Year</a>
      </div>
      <div class="TdmEntry">New Software and Platforms<ul><li><a href="uid16.html&#10;&#9;&#9;  ">Chameleon</a></li><li><a href="uid21.html&#10;&#9;&#9;  ">KLANG-OMP</a></li><li><a href="uid25.html&#10;&#9;&#9;  ">KaStORS</a></li><li><a href="uid29.html&#10;&#9;&#9;  ">MAQAO</a></li><li><a href="uid33.html&#10;&#9;&#9;  ">P-EDGE</a></li><li><a href="uid37.html&#10;&#9;&#9;  ">StarPU</a></li><li><a href="uid41.html&#10;&#9;&#9;  ">hwloc</a></li></ul></div>
      <div class="TdmEntry">New Results<ul><li><a href="uid46.html&#10;&#9;&#9;  ">Memory Management and Distributed Computing with StarPU</a></li><li><a href="uid47.html&#10;&#9;&#9;  ">Simulation Execution with StarPU
and SimGrid</a></li><li><a href="uid48.html&#10;&#9;&#9;  ">Scheduling heuristics for
dense linear algebra</a></li><li><a href="uid49.html&#10;&#9;&#9;  ">Out-of-core support for task
graphs</a></li><li><a href="uid50.html&#10;&#9;&#9;  ">Parallel Tasks within StarPU</a></li><li><a href="uid51.html&#10;&#9;&#9;  ">Running Compliant
OpenMP Applications on top of StarPU with the Klang-Omp Compiler</a></li><li><a href="uid52.html&#10;&#9;&#9;  ">Task-based Seismology
Simulation on top of StarPU</a></li><li><a href="uid53.html&#10;&#9;&#9;  ">Interfacing the MPC Parallel
Framework with StarPU</a></li><li><a href="uid54.html&#10;&#9;&#9;  ">A Domain Specific Framework
for Executing Stencil Kernels on Accelerated Platforms with SYCL</a></li><li><a href="uid55.html&#10;&#9;&#9;  ">Combining Code Generation and
Template Specialization Techniques in the P-EDGE Generic Polar
Error Correction Code Framework</a></li><li><a href="uid56.html&#10;&#9;&#9;  ">Binary Kernel
Analysis, Hinting and Transformation for SIMDization</a></li><li><a href="uid57.html&#10;&#9;&#9;  ">Dynamic Granularity Adaptation of OpenCL Kernels on Heterogeneous Multi-device Systems</a></li></ul></div>
      <div class="TdmEntry">Bilateral Contracts and Grants with Industry<ul><li><a href="uid59.html&#10;&#9;&#9;  ">Bilateral Contracts with Industry</a></li><li><a href="uid61.html&#10;&#9;&#9;  ">Bilateral Grants with Industry</a></li></ul></div>
      <div class="TdmEntry">Partnerships and Cooperations<ul><li><a href="uid67.html&#10;&#9;&#9;  ">Regional Initiatives</a></li><li><a href="uid70.html&#10;&#9;&#9;  ">National Initiatives</a></li><li><a href="uid95.html&#10;&#9;&#9;  ">European Initiatives</a></li><li><a href="uid124.html&#10;&#9;&#9;  ">International Initiatives</a></li></ul></div>
      <div class="TdmEntry">Dissemination<ul><li><a href="uid132.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="uid205.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>
        </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/storm">Presentation of the Team STORM</a></small>
        </div>
        <div id="head_adroite">
          <table class="qrcode">
            <tr>
              <td>
                <a href="storm.xml">
                  <img style="align:bottom; border:none" alt="XML" src="../static/img/icons/xml_motif.png"/>
                </a>
              </td>
              <td>
                <a href="storm.pdf">
                  <img style="align:bottom; border:none" alt="PDF" src="IMG/qrcode-storm-pdf.png"/>
                </a>
              </td>
              <td>
                <a href="../storm/storm.epub">
                  <img style="align:bottom; border:none" alt="e-pub" src="IMG/qrcode-storm-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="./uid1.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="./uid8.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: 
      Overall Objectives</h2>
        <h3 class="titre3">Overall Objectives</h3>
        <p>A successful approach to deal with the complexity of modern
architectures is centered around the use of runtime systems, to manage
tasks dynamically, these runtime systems being either generic or
specific to an application. Similarly, on the compiler side,
optimizations and analyses are more aggressive in iterative
compilation frameworks, fit for library generations, or DSL, in
particular for linear algebra methods. To go beyond this state of the
art and alleviate the difficulties for programming these machines, we
believe it is necessary to provide inputs with richer semantics to
runtime and compiler alike, and in particular by combining both
approaches.</p>
        <p>This general objective is declined into two sub-objectives, the first
concerning the expression of parallelism itself, the second the
optimization and adaptation of this parallelism by compilers and runtimes.</p>
        <div align="center" style="margin-top:10px">
          <a name="uid4">
            <!--...-->
          </a>
          <table title="" class="objectContainer">
            <caption align="bottom"><strong>Figure
	1. </strong>STORM Big Picture</caption>
            <tr align="center">
              <td>
                <table>
                  <tr>
                    <td xmlns="" style="height:3px;" align="center">
                      <img xmlns="http://www.w3.org/1999/xhtml" style="width:341.6013pt" alt="IMG/storm-big-picture.png" src="IMG/storm-big-picture.png"/>
                    </td>
                  </tr>
                </table>
              </td>
            </tr>
          </table>
        </div>
        <ul>
          <li>
            <p class="notaparagraph"><a name="uid5"> </a>Expressing parallelism: As shown in the following figure, we
propose to work on parallelism expression through Domain Specific
Languages, able to capture the essence of the algorithms used
through usual parallel languages such as OpenCL, OpenMP and through
high performance libraries. The DSLs will be driven by applications,
with the idea to capture at the algorithmic level the parallelism of
the problem and perform dynamic data layout adaptation, parallel and
algorithmic optimizations. The principle here is to capture a
higher level of semantics, enabling users to express not only
parallelism but also different algorithms.</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid6"> </a>Optimizing and adapting parallelism: The goal here is to
leverage the necessary adaptation to evolving hardware, by providing
mechanisms allowing users to run the same code on different
architectures. This implies to adapt parallelism, in particular the
granularity of the work, to the architecture. This relies on the use
of existing parallel libraries and their composition, and more
generally the separation of concern between the description of
tasks, that represent semantic units of work, and the tasks to be
executed by the different processing units. Splitting or coarsening
moldable tasks, generating code for these tasks and scheduling them
is part of this work.</p>
            <p><a name="uid6"> </a>Finally, the abstraction we advocate for requires to propose a feed
back loop. This feed back has two objectives: To make users better
understand their application and how to change the expression of
parallelism if necessary, but also to propose an abstracted model
for the machine. This allows to develop and formalize the compiling,
scheduling techniques on a model, not too far from the real
machine. Here, simulation techniques are a way to abstract the
complexity of the architecture while preserving essential metrics.</p>
          </li>
        </ul>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid1.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="./uid8.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>
