<?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="New Software and Platforms - StarPU"/>
    <meta name="dc.title" content="New Software and Platforms - StarPU"/>
    <meta name="dc.subject" content=""/>
    <meta name="dc.publisher" content="INRIA"/>
    <meta name="dc.date" content="(SCHEME=ISO8601) 2016-01"/>
    <meta name="dc.type" content="Report"/>
    <meta name="dc.language" content="(SCHEME=ISO639-1) en"/>
    <meta name="projet" content="STORM"/>
    <script type="text/javascript" src="https://raweb.inria.fr/rapportsactivite/RA2016/static/MathJax/MathJax.js?config=TeX-MML-AM_CHTML">
      <!--MathJax-->
    </script>
  </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="TdmEntry">
        <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;  ">Scientific and Societal Stakes</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;  ">Application Fields</a></li></ul></div>
      <div class="TdmEntry">New Software and Platforms<ul><li><a href="uid14.html&#10;&#9;&#9;  ">Chameleon</a></li><li><a href="uid19.html&#10;&#9;&#9;  ">KLANG-OMP</a></li><li><a href="uid23.html&#10;&#9;&#9;  ">KaStORS</a></li><li><a href="uid27.html&#10;&#9;&#9;  ">MORSE</a></li><li><a href="uid30.html&#10;&#9;&#9;  ">AFF3CT</a></li><li class="tdmActPage"><a href="uid36.html&#10;&#9;&#9;  ">StarPU</a></li><li><a href="uid40.html&#10;&#9;&#9;  ">hwloc</a></li></ul></div>
      <div class="TdmEntry">New Results<ul><li><a href="uid46.html&#10;&#9;&#9;  ">Automatic OpenCL Task Adaptation for Heterogeneous Architectures</a></li><li><a href="uid47.html&#10;&#9;&#9;  ">Fast Forward Error Correction Codes</a></li><li><a href="uid48.html&#10;&#9;&#9;  ">Resource aggregation for task-based Cholesky Factorization</a></li><li><a href="uid49.html&#10;&#9;&#9;  ">Scheduling of Linear Algebra Kernels on Multiple Heterogeneous Resources</a></li><li><a href="uid50.html&#10;&#9;&#9;  ">Analyzing Dynamic Task-Based Applications on Hybrid Platforms: An Agile Scripting Approach</a></li><li><a href="uid51.html&#10;&#9;&#9;  ">Distributed StarPU Scalability on Heterogeneous Platforms</a></li><li><a href="uid52.html&#10;&#9;&#9;  ">Controlling the Memory Subscription of Distributed Applications with a Task-Based Runtime System</a></li><li><a href="uid53.html&#10;&#9;&#9;  ">StarPU Interfacing with GASPI/GPI2</a></li><li><a href="uid54.html&#10;&#9;&#9;  ">A Stencil DSEL for Single Code Accelerated Computing with SYCL</a></li><li><a href="uid55.html&#10;&#9;&#9;  ">Bridging the gap between OpenMP 4.0 and native runtime systems for the fast multipole method</a></li><li><a href="uid56.html&#10;&#9;&#9;  ">Hierarchical Tasks</a></li><li><a href="uid57.html&#10;&#9;&#9;  ">Software-Hardware Exploration for Read-Only Data</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></ul></div>
      <div class="TdmEntry">Partnerships and Cooperations<ul><li><a href="uid65.html&#10;&#9;&#9;  ">National Initiatives</a></li><li><a href="uid93.html&#10;&#9;&#9;  ">European Initiatives</a></li><li><a href="uid120.html&#10;&#9;&#9;  ">International Initiatives</a></li></ul></div>
      <div class="TdmEntry">Dissemination<ul><li><a href="uid126.html&#10;&#9;&#9;  ">Promoting Scientific Activities</a></li><li><a href="uid156.html&#10;&#9;&#9;  ">Teaching - Supervision - Juries</a></li><li><a href="uid199.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 
	    2016</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="./uid30.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="./uid40.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: 
      New Software and Platforms</h2>
        <h3 class="titre3">StarPU</h3>
        <p>The StarPU Runtime System</p>
        <p class="notaparagraph"><span class="smallcap">Keywords: </span> HPC - Scheduling - GPU - Multicore - Performance</p>
        <p class="notaparagraph">
          <span class="smallcap">Scientific Description </span>
        </p>
        <p>Traditional processors have reached architectural limits which heterogeneous multicore designs and hardware specialization (eg. coprocessors, accelerators, ...) intend to address. However, exploiting such machines introduces numerous challenging issues at all levels, ranging from programming models and compilers to the design of scalable hardware solutions. The design of efficient runtime systems for these architectures is a critical issue. StarPU typically makes it much easier for high performance libraries or compiler environments to exploit heterogeneous multicore machines possibly equipped with GPGPUs or Cell processors: rather than handling low-level issues, programmers may concentrate on algorithmic concerns.Portability is obtained by the means of a unified abstraction of the machine. StarPU offers a unified offloadable task abstraction named "codelet". Rather than rewriting the entire code, programmers can encapsulate existing functions within codelets. In case a codelet may run on heterogeneous architectures, it is possible to specify one function for each architectures (eg. one function for CUDA and one function for CPUs). StarPU takes care to schedule and execute those codelets as efficiently as possible over the entire machine. In order to relieve programmers from the burden of explicit data transfers, a high-level data management library enforces memory coherency over the machine: before a codelet starts (eg. on an accelerator), all its data are transparently made available on the compute resource.Given its expressive interface and portable scheduling policies, StarPU obtains portable performances by efficiently (and easily) using all computing resources at the same time. StarPU also takes advantage of the heterogeneous nature of a machine, for instance by using scheduling strategies based on auto-tuned performance models.</p>
        <p>StarPU is a task programming library for hybrid architectures</p>
        <p>The application provides algorithms and constraints:
- CPU/GPU implementations of tasks
- A graph of tasks, using either the StarPU's high level GCC plugin pragmas or StarPU's rich C API</p>
        <p>StarPU handles run-time concerns
- Task dependencies
- Optimized heterogeneous scheduling
- Optimized data transfers and replication between main memory and discrete memories
- Optimized cluster communications</p>
        <p>Rather than handling low-level scheduling and optimizing issues, programmers can concentrate on algorithmic concerns!</p>
        <p class="notaparagraph">
          <span class="smallcap">Functional Description </span>
        </p>
        <p>StarPU is a runtime system that offers support for heterogeneous multicore machines. While many efforts are devoted to design efficient computation kernels for those architectures (e.g. to implement BLAS kernels on GPUs), StarPU not only takes care of offloading such kernels (and implementing data coherency across the machine), but it also makes sure the kernels are executed as efficiently as possible.</p>
        <ul>
          <li>
            <p class="notaparagraph"><a name="uid37"> </a>Participants: Cédric Augonnet, Samuel Thibault, Nathalie Furmento, Simon Archipoff, Jérôme Clet-Ortega, Nicolas Collin, Ludovic Courtes, Mehdi Juhoor, Xavier Lacoste, Benoît Lize, Ludovic Stordeur, Cyril Roelandt, Corentin Salingue, Chiheb Sakka, Samuel Pitoiset, François Tessier, Pierre-André Wacrenier, Andra Hugo, Terry Cojean, Raymond Namyst, Olivier Aumage and Marc Sergent</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid38"> </a>Contact: Olivier Aumage</p>
          </li>
          <li>
            <p class="notaparagraph"><a name="uid39"> </a>URL: <a href="http://starpu.gforge.inria.fr/">http://starpu.gforge.inria.fr/</a></p>
          </li>
        </ul>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid30.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="./uid40.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>
