<?xml version="1.0" encoding="utf-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hal="http://hal.archives-ouvertes.fr/" xmlns:gml="http://www.opengis.net/gml/3.3/" xmlns:gmlce="http://www.opengis.net/gml/3.3/ce" version="1.1" xsi:schemaLocation="http://www.tei-c.org/ns/1.0 http://api.archives-ouvertes.fr/documents/aofr-sword.xsd">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>HAL TEI export of tel-02385303v2</title>
      </titleStmt>
      <publicationStmt>
        <distributor>CCSD</distributor>
        <availability status="restricted">
          <licence target="https://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0 - Universal</licence>
        </availability>
        <date when="2026-05-13T20:42:10+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">Efficient code generation for hardware accelerators by refining partially specified implementation</title>
            <title xml:lang="fr">Génération de code efficace pour accélérateurs matériels par raffinement d’implémentations partiellement spécifiées</title>
            <author role="aut">
              <persName>
                <forename type="first">Ulysse</forename>
                <surname>Beaugnon</surname>
              </persName>
              <idno type="halauthorid">919594-0</idno>
              <affiliation ref="#struct-25027"/>
              <affiliation ref="#struct-454670"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>ABES</forename>
                <surname>STAR</surname>
              </persName>
              <email type="md5">f5aa7f563b02bb6adbba7496989af39a</email>
              <email type="domain">abes.fr</email>
            </editor>
          </titleStmt>
          <editionStmt>
            <edition n="v1">
              <date type="whenSubmitted">2019-11-28 17:11:50</date>
            </edition>
            <edition n="v2" type="current">
              <date type="whenSubmitted">2020-11-26 17:50:07</date>
              <date type="whenModified">2026-04-03 17:38:48</date>
              <date type="whenReleased">2020-11-26 17:50:08</date>
              <date type="whenProduced">2019-06-10</date>
              <date type="whenEndEmbargoed">2020-11-26</date>
              <ref type="file" target="https://theses.hal.science/tel-02385303v2/document">
                <date notBefore="2020-11-26"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://theses.hal.science/tel-02385303v2/file/Beaugnon-2019-these.pdf" id="file-3026691-2665703">
                <date notBefore="2020-11-26"/>
              </ref>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="131274">
                <persName>
                  <forename>ABES</forename>
                  <surname>STAR</surname>
                </persName>
                <email type="md5">f5aa7f563b02bb6adbba7496989af39a</email>
                <email type="domain">abes.fr</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">tel-02385303</idno>
            <idno type="halUri">https://theses.hal.science/tel-02385303</idno>
            <idno type="halBibtex">beaugnon:tel-02385303</idno>
            <idno type="halRefHtml">Programming Languages [cs.PL]. Université Paris sciences et lettres, 2019. English. &lt;a target="_blank" href="https://www.theses.fr/2019PSLEE050"&gt;&amp;#x27E8;NNT : 2019PSLEE050&amp;#x27E9;&lt;/a&gt;</idno>
            <idno type="halRef">Programming Languages [cs.PL]. Université Paris sciences et lettres, 2019. English. &amp;#x27E8;NNT : 2019PSLEE050&amp;#x27E9;</idno>
            <availability status="restricted">
              <licence target="https://about.hal.science/hal-authorisation-v1/">HAL Authorization<ref corresp="#file-3026691-2665703"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="ENS-PARIS">Ecole Normale Supérieure de Paris</idno>
            <idno type="stamp" n="CNRS">CNRS - Centre national de la recherche scientifique</idno>
            <idno type="stamp" n="INRIA">INRIA - Institut National de Recherche en Informatique et en Automatique</idno>
            <idno type="stamp" n="INRIA-ROCQ">INRIA Paris - Rocquencourt</idno>
            <idno type="stamp" n="STAR">STAR - Dépôt national des thèses électroniques</idno>
            <idno type="stamp" n="THESES-ENS" corresp="ENS-PARIS">Thèses ENS</idno>
            <idno type="stamp" n="TESTALAIN1">TESTALAIN1</idno>
            <idno type="stamp" n="INRIA2">INRIA 2</idno>
            <idno type="stamp" n="PSL">Université Paris sciences et lettres</idno>
            <idno type="stamp" n="INRIA-PSL">INRIA-PSL</idno>
            <idno type="stamp" n="ENS-PSL" corresp="PSL">École normale supérieure - PSL</idno>
            <idno type="stamp" n="DIENS" corresp="ENS-PARIS">Département d'informatique de l'ENS-PSL</idno>
          </seriesStmt>
          <notesStmt/>
          <sourceDesc>
            <biblStruct>
              <analytic>
                <title xml:lang="en">Efficient code generation for hardware accelerators by refining partially specified implementation</title>
                <title xml:lang="fr">Génération de code efficace pour accélérateurs matériels par raffinement d’implémentations partiellement spécifiées</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Ulysse</forename>
                    <surname>Beaugnon</surname>
                  </persName>
                  <idno type="halauthorid">919594-0</idno>
                  <affiliation ref="#struct-25027"/>
                  <affiliation ref="#struct-454670"/>
                </author>
              </analytic>
              <monogr>
                <idno type="nnt">2019PSLEE050</idno>
                <imprint>
                  <date type="dateDefended">2019-06-10</date>
                </imprint>
                <authority type="institution">Université Paris sciences et lettres</authority>
                <authority type="school">École doctorale Sciences mathématiques de Paris centre (Paris ; 2000-....)</authority>
                <authority type="supervisor">Albert Henri Cohen</authority>
                <authority type="supervisor">Marc Pouzet</authority>
                <authority type="jury">Francesco Zappa Nardelli [Président]</authority>
                <authority type="jury">Christophe Dubach [Rapporteur]</authority>
                <authority type="jury">Ratislav Bodik [Rapporteur]</authority>
                <authority type="jury">Anton Lokhmotov</authority>
                <authority type="jury">Jacques Pienaar</authority>
              </monogr>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <keywords scheme="author">
                <term xml:lang="en">Constraint programing</term>
                <term xml:lang="en">GPU</term>
                <term xml:lang="en">Performance model</term>
                <term xml:lang="en">Code optimization</term>
                <term xml:lang="en">Compilation</term>
                <term xml:lang="fr">Optimisation de code</term>
                <term xml:lang="fr">Modèle de performance</term>
                <term xml:lang="fr">GPU</term>
                <term xml:lang="fr">Programation par contraintes</term>
                <term xml:lang="fr">Compilation</term>
              </keywords>
              <classCode scheme="halDomain" n="info.info-pl">Computer Science [cs]/Programming Languages [cs.PL]</classCode>
              <classCode scheme="halTypology" n="THESE">Theses</classCode>
              <classCode scheme="halOldTypology" n="THESE">Theses</classCode>
              <classCode scheme="halTreeTypology" n="THESE">Theses</classCode>
            </textClass>
            <abstract xml:lang="en">
              <p>Compilers looking for an efficient implementation of a function must find which optimizations are the most beneficial. This is a complex problem, especially in the early steps of the compilation process. Each decision may impact the transformations available in subsequent steps. We propose to represent the compilation process as the progressive refinement of a partially specified implementation. All potential decisions are exposed upfront and commute. This allows for making the most discriminative decisions first and for building a performance model aware of which optimizations may be applied in subsequent steps. We apply this approach to the generation of efficient GPU code for linear algebra and yield performance competitive with hand-tuned libraries.</p>
            </abstract>
            <abstract xml:lang="fr">
              <p>Les compilateurs cherchant à améliorer l’efficacité des programmes doivent déterminer quelles optimisations seront les plus bénéfiques. Ce problème est complexe, surtout lors des premières étapes de la compilation où chaque décision influence les choix disponibles aux étapes suivantes. Nous proposons de représenter la compilation comme le raffinement progressif d’une implémentation partiellement spécifiée. Les décisions possibles sont toutes connues dès le départ et commutent. Cela permet de prendre les décisions les plus importantes en premier et de construire un modèle de performance capable d'anticiper les potentielles optimisations. Nous appliquons cette approche pour générer du code d'algèbre linéaire ciblant des GPU et obtenons des performances comparables aux bibliothèques optimisées à la main.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="regrouplaboratory" xml:id="struct-25027" status="VALID">
          <idno type="IdRef">148034055</idno>
          <idno type="RNSR">199812876J</idno>
          <idno type="ROR">05y6rqs46</idno>
          <orgName>Département d'informatique - ENS-PSL</orgName>
          <orgName type="acronym">DI-ENS</orgName>
          <date type="start">1999-01-01</date>
          <desc>
            <address>
              <addrLine>École normale supérieure 45 rue d'Ulm F-75230 Paris Cedex 05</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.di.ens.fr/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-59704" type="direct"/>
            <relation active="#struct-564132" type="indirect"/>
            <relation active="#struct-300009" type="direct"/>
            <relation name="UMR8548" active="#struct-441569" type="direct"/>
          </listRelation>
        </org>
        <org type="researchteam" xml:id="struct-454670" status="VALID">
          <idno type="IdRef">158093453</idno>
          <idno type="RNSR">201120983P</idno>
          <idno type="ROR">https://ror.org/02tnfe688</idno>
          <orgName>Parallélisme de Kahn Synchrone</orgName>
          <orgName type="acronym">Parkas</orgName>
          <date type="start">2016-01-01</date>
          <date type="end">2029-10-31</date>
          <desc>
            <address>
              <addrLine>45 rue d'Ulm F-75230 Paris Cedex 05</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/equipes/parkas</ref>
          </desc>
          <listRelation>
            <relation active="#struct-25027" type="direct"/>
            <relation active="#struct-59704" type="indirect"/>
            <relation active="#struct-564132" type="indirect"/>
            <relation active="#struct-300009" type="indirect"/>
            <relation name="UMR8548" active="#struct-441569" type="direct"/>
            <relation active="#struct-441569" type="direct"/>
            <relation active="#struct-454310" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-59704" status="VALID">
          <idno type="IdRef">031738419</idno>
          <idno type="ISNI">0000000123532622</idno>
          <idno type="ROR">https://ror.org/05a0dhs15</idno>
          <orgName>École normale supérieure - Paris</orgName>
          <orgName type="acronym">ENS-PSL</orgName>
          <date type="start">1985-07-24</date>
          <desc>
            <address>
              <addrLine>45, Rue d'Ulm - 75230 Paris cedex 05</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.ens.psl.eu/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-564132" type="direct"/>
          </listRelation>
        </org>
        <org type="regroupinstitution" xml:id="struct-564132" status="VALID">
          <idno type="IdRef">241597595</idno>
          <idno type="ISNI">0000 0004 1784 3645</idno>
          <idno type="ROR">https://ror.org/013cjyk83</idno>
          <orgName>Université Paris Sciences et Lettres</orgName>
          <orgName type="acronym">PSL</orgName>
          <desc>
            <address>
              <addrLine>60 rue Mazarine 75006 Paris</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.psl.eu/</ref>
          </desc>
        </org>
        <org type="institution" xml:id="struct-300009" status="VALID">
          <idno type="ROR">https://ror.org/02kvxyf05</idno>
          <orgName>Institut National de Recherche en Informatique et en Automatique</orgName>
          <orgName type="acronym">Inria</orgName>
          <desc>
            <address>
              <addrLine>Domaine de VoluceauRocquencourt - BP 10578153 Le Chesnay Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/en/</ref>
          </desc>
        </org>
        <org type="regroupinstitution" xml:id="struct-441569" status="VALID">
          <idno type="IdRef">02636817X</idno>
          <idno type="ISNI">0000000122597504</idno>
          <idno type="ROR">https://ror.org/02feahw73</idno>
          <orgName>Centre National de la Recherche Scientifique</orgName>
          <orgName type="acronym">CNRS</orgName>
          <date type="start">1939-10-19</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.cnrs.fr/</ref>
          </desc>
        </org>
        <org type="laboratory" xml:id="struct-454310" status="VALID">
          <idno type="IdRef">241614864</idno>
          <idno type="RNSR">196718247G</idno>
          <idno type="ROR">https://ror.org/05eyd5d35</idno>
          <orgName>Centre Inria de Paris</orgName>
          <date type="start">2016-03-10</date>
          <desc>
            <address>
              <addrLine>48 Rue Barrault, 75013 Paris</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/centre/paris</ref>
          </desc>
          <listRelation>
            <relation active="#struct-300009" type="direct"/>
          </listRelation>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>