<?xml version="1.0" encoding="UTF-8"?><mets:mets xmlns:mets="http://www.loc.gov/METS/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:mads="http://www.loc.gov/mads/" xmlns:metsRights="http://cosimo.stanford.edu/sdr/metsrights/" xmlns:suj="http://www.theses.fr/namespace/sujets" xmlns:tef="http://www.abes.fr/abes/documents/tef" xmlns:tefextension="http://www.abes.fr/abes/documents/tefextension" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/METS/ http://www.abes.fr/abes/documents/tef/recommandation/tef_schemas.xsd">
<mets:metsHdr CREATEDATE="2015-12-01T13:29:06" ID="ABES.STAR.THESE_67356.METS_HEADER" LASTMODDATE="2024-04-17T03:37:27Z" RECORDSTATUS="valide">
<mets:agent ROLE="CREATOR">
<mets:name/>
<mets:note>Note</mets:note>
</mets:agent>
<mets:agent ROLE="DISSEMINATOR">
<mets:name>ABES</mets:name>
</mets:agent>
<mets:altRecordID ID="ABES.STAR.THESE_67356.METS_HEADER.ALTERNATE" TYPE=""/>
</mets:metsHdr>
<mets:dmdSec ID="ABES.STAR.THESE_67356.DESCRIPTION_BIBLIOGRAPHIQUE">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_desc_these">
<mets:xmlData>
<tef:thesisRecord>
<dc:title xml:lang="fr">XFOR (Multifor) : A new programming structure to ease the formulation of efficient loop optimizations</dc:title>
<dcterms:alternative xml:lang="en">XFOR (Multifor) : nouvelle structure de programmation pour faciliter la formulation des optimisations efficaces de boucles</dcterms:alternative>
<dc:subject xml:lang="fr">Xfor</dc:subject>
<dc:subject xml:lang="fr">Structure itérative</dc:subject>
<dc:subject xml:lang="fr">Programmation parallèle</dc:subject>
<dc:subject xml:lang="fr">Modèle polyédrique</dc:subject>
<dc:subject xml:lang="fr">Optimization de boucles</dc:subject>
<dc:subject xml:lang="fr">Transformation de boucles</dc:subject>
<dc:subject xml:lang="fr">Localité de données</dc:subject>
<dc:subject xml:lang="fr">Génération de code</dc:subject>
<dc:subject xml:lang="en">Xfor</dc:subject>
<dc:subject xml:lang="en">Iterative structure</dc:subject>
<dc:subject xml:lang="en">Parallel programming</dc:subject>
<dc:subject xml:lang="en">Polyhedral model</dc:subject>
<dc:subject xml:lang="en">Loop optimization</dc:subject>
<dc:subject xml:lang="en">Loop transformation</dc:subject>
<dc:subject xml:lang="en">Data locality</dc:subject>
<dc:subject xml:lang="en">Code generation</dc:subject>
<dc:subject xsi:type="dcterms:DDC">005.4</dc:subject>
<tef:sujetRameau xml:lang="fr">
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="027701603" autoriteSource="Sudoc">Programmation parallèle (informatique)</tef:elementdEntree>
</tef:vedetteRameauNomCommun>
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="027709922" autoriteSource="Sudoc">Compilation (informatique)</tef:elementdEntree>
</tef:vedetteRameauNomCommun>
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="027842681" autoriteSource="Sudoc">Polyèdres</tef:elementdEntree>
<tef:subdivision autoriteExterne="027234886" autoriteSource="Sudoc" type="subdivisionDeSujet">Informatique</tef:subdivision>
</tef:vedetteRameauNomCommun>
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="027282171" autoriteSource="Sudoc">Algorithmes</tef:elementdEntree>
</tef:vedetteRameauNomCommun>
</tef:sujetRameau>
<dcterms:abstract xml:lang="fr">Nous proposons une nouvelle structure de programmation appelée XFOR (Multifor), dédiée à la programmation orientée réutilisation de données. XFOR permet de gérer simultanément plusieurs boucles "for" ainsi que d’appliquer/composer des transformations de boucles d’une façon intuitive. Les expérimentations ont montré des accélérations significatives des codes XFOR par rapport aux codes originaux, mais aussi par rapport au codes générés automatiquement par l’optimiseur polyédrique de boucles Pluto. Nous avons mis en œuvre la structure XFOR par le développement de trois outils logiciels: (1) un compilateur source-à-source nommé IBB, qui traduit les codes XFOR en un code équivalent où les boucles XFOR ont été remplacées par des boucles for sémantiquement équivalentes. L’outil IBB bénéficie également des optimisations implémentées dans le générateur de code polyédrique CLooG qui est invoqué par IBB pour générer des boucles for à partir d’une description OpenScop; (2) un environnement de programmation XFOR nommé XFOR-WIZARD qui aide le programmeur dans la ré-écriture d’un programme utilisant des boucles for classiques en un programme équivalent, mais plus efficace, utilisant des boucles XFOR; (3) un outil appelé XFORGEN, qui génère automatiquement des boucles XFOR à partir de toute représentation OpenScop de nids de boucles transformées générées automatiquement par un optimiseur automatique.</dcterms:abstract>
<dcterms:abstract xml:lang="en">We propose a new programming structure named XFOR (Multifor), dedicated to data-reuse aware programming. It allows to handle several for-loops simultaneously and map their respective iteration domains onto each other. Additionally, XFOR eases loop transformations application and composition. Experiments show that XFOR codes provides significant speed-ups when compared to the original code versions, but also to the Pluto optimized versions. We implemented the XFOR structure through the development of three software tools: (1) a source-to-source compiler named IBB for Iterate-But-Better!, which automatically translates any C/C++ code containing XFOR-loops into an equivalent code where XFOR-loops have been translated into for-loops. IBB takes also benefit of optimizations implemented in the polyhedral code generator CLooG which is invoked by IBB to generate for-loops from an OpenScop specification; (2) an XFOR programming environment named XFOR-WIZARD that assists the programmer in re-writing a program with classical for-loops into an equivalent but more efficient program using XFOR-loops; (3) a tool named XFORGEN, which automatically generates XFOR-loops from any OpenScop representation of transformed loop nests automatically generated by an automatic optimizer.</dcterms:abstract>
<dc:type>Electronic Thesis or Dissertation</dc:type>
<dc:type xsi:type="dcterms:DCMIType">Text</dc:type>
<dc:language xsi:type="dcterms:RFC3066">en</dc:language>
</tef:thesisRecord>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="ABES.STAR.THESE_67356.VERSION_COMPLETE.DESCRIPTION.EDITION_ARCHIVAGE">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_desc_edition">
<mets:xmlData>
<tef:edition>
<dcterms:medium xsi:type="dcterms:IMT">PDF</dcterms:medium>
<dcterms:extent>10244865</dcterms:extent>
<tef:editeur>
<tef:nom>Université de Strasbourg</tef:nom>
<tef:place>Strasbourg</tef:place>
</tef:editeur>
<dcterms:issued xsi:type="dcterms:W3CDTF">2016-12-31</dcterms:issued>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-01355455</dc:identifier>
</tef:edition>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="ABES.STAR.THESE_67356.VERSION_COMPLETE.DESCRIPTION.EDITION_1">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_desc_edition">
<mets:xmlData>
<tef:edition>
<dcterms:medium xsi:type="dcterms:IMT">application/pdf</dcterms:medium>
<dcterms:extent>10180942</dcterms:extent>
<dc:identifier xsi:type="dcterms:URI">https://publication-theses.unistra.fr/public/theses_doctorat/2015/Imen_Fassi_2015_ED269.pdf</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">http://www.theses.fr/2015STRAD043/abes</dc:identifier>
<dc:identifier xsi:type="dcterms:URI"/>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-01355455</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-01355455</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-01355455</dc:identifier>
</tef:edition>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:amdSec>
<mets:techMD ID="ABES.STAR.THESE_67356.ADMINISTRATION">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_admin_these">
<mets:xmlData>
<tef:thesisAdmin>
<tef:auteur>
<tef:nom>Fassi</tef:nom>
<tef:prenom>Imen</tef:prenom>
<tef:dateNaissance>1985-06-18</tef:dateNaissance>
<tef:nationalite scheme="ISO-3166-1">TN</tef:nationalite>
<tef:autoriteExterne autoriteSource="Sudoc">194173445</tef:autoriteExterne>
<tef:autoriteExterne autoriteSource="CODE_ETUDIANT">21318253</tef:autoriteExterne>
</tef:auteur>
<dc:identifier xsi:type="tef:nationalThesisPID">https://theses.fr/2015STRAD043</dc:identifier>
<dc:identifier xsi:type="tef:NNT">2015STRAD043</dc:identifier>
<dc:identifier xsi:type="tef:DOI">https://doi.org/10.70675/22c0e3dbzdd49z4a72z855cz36d0d71a5075</dc:identifier>
<dcterms:dateAccepted xsi:type="dcterms:W3CDTF">2015-11-27</dcterms:dateAccepted>
<tef:thesis.degree>
<tef:thesis.degree.discipline xml:lang="fr">Informatique</tef:thesis.degree.discipline>
<tef:thesis.degree.grantor>
<tef:nom>Strasbourg</tef:nom>
<tef:autoriteExterne autoriteSource="Sudoc">131056549</tef:autoriteExterne>
</tef:thesis.degree.grantor>
<tef:thesis.degree.level>Doctorat</tef:thesis.degree.level>
<tef:thesis.degree.name xml:lang="fr">Docteur es</tef:thesis.degree.name>
</tef:thesis.degree>
<tef:theseSurTravaux>non</tef:theseSurTravaux>
<tef:avisJury>oui</tef:avisJury>
<tef:directeurThese>
<tef:nom>Clauss</tef:nom>
<tef:prenom>Philippe</tef:prenom>
<tef:autoriteInterne>MADS_DIRECTEUR_DE_THESE_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">098478389</tef:autoriteExterne>
</tef:directeurThese>
<tef:presidentJury>
<tef:nom>Derrien</tef:nom>
<tef:prenom>Steven</tef:prenom>
<tef:autoriteInterne>MADS_PRESIDENT_DU_JURY</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">069997519</tef:autoriteExterne>
</tef:presidentJury>
<tef:rapporteur>
<tef:nom>Irigoin</tef:nom>
<tef:prenom>François</tef:prenom>
<tef:autoriteInterne>MADS_RAPPORTEUR_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">076958639</tef:autoriteExterne>
</tef:rapporteur>
<tef:rapporteur>
<tef:nom>Barthou</tef:nom>
<tef:prenom>Denis</tef:prenom>
<tef:autoriteInterne>MADS_RAPPORTEUR_2</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">061281387</tef:autoriteExterne>
</tef:rapporteur>
<tef:ecoleDoctorale>
<tef:nom>École doctorale Mathématiques, sciences de l'information et de l'ingénieur (Strasbourg ; 1997-....)</tef:nom>
<tef:autoriteInterne>MADS_ECOLE_DOCTORALE_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Annuaire des formations doctorales et des unités de recherche">MA</tef:autoriteExterne>
<tef:autoriteExterne autoriteSource="Sudoc">156504863</tef:autoriteExterne>
</tef:ecoleDoctorale>
<tef:partenaireRecherche type="laboratoire">
<tef:nom>Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie (Strasbourg ; 2013-....)</tef:nom>
<tef:autoriteInterne>MADS_PARTENAIRE_DE_RECHERCHE_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Annuaire des formations doctorales et des unités de recherche">UMR7357</tef:autoriteExterne>
<tef:autoriteExterne autoriteSource="Sudoc">176969721</tef:autoriteExterne>
<tef:autoriteExterne autoriteSource="labTEL">260728</tef:autoriteExterne>
</tef:partenaireRecherche>
<tef:oaiSetSpec>ddc:004</tef:oaiSetSpec>
<tef:MADSAuthority authorityID="MADS_DIRECTEUR_DE_THESE_1" type="personal">
<tef:personMADS>
<mads:namePart type="family">Clauss</mads:namePart>
<mads:namePart type="given">Philippe</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_PRESIDENT_DU_JURY" type="personal">
<tef:personMADS>
<mads:namePart type="family">Derrien</mads:namePart>
<mads:namePart type="given">Steven</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_RAPPORTEUR_1" type="personal">
<tef:personMADS>
<mads:namePart type="family">Irigoin</mads:namePart>
<mads:namePart type="given">François</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_RAPPORTEUR_2" type="personal">
<tef:personMADS>
<mads:namePart type="family">Barthou</mads:namePart>
<mads:namePart type="given">Denis</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_ECOLE_DOCTORALE_1" type="corporate">
<tef:personMADS>
<mads:namePart type="family">École doctorale Mathématiques, sciences de l'information et de l'ingénieur (Strasbourg)</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_PARTENAIRE_DE_RECHERCHE_1" type="corporate">
<tef:personMADS>
<mads:namePart type="family">Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie (Strasbourg)</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
</tef:thesisAdmin>
</mets:xmlData>
</mets:mdWrap>
</mets:techMD>
<mets:techMD ID="ABES.STAR.THESE_67356.VERSION_COMPLETE.EDITION_ARCHIVAGE.TECH_FICHIER.DOSSIER_1.DOSSIER_1.FICHIER_1">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_tech_fichier">
<mets:xmlData>
<tef:meta_fichier>
<tef:formatFichier>PDF</tef:formatFichier>
<tef:taille>10244865</tef:taille>
</tef:meta_fichier>
</mets:xmlData>
</mets:mdWrap>
</mets:techMD>
<mets:rightsMD ID="ABES.STAR.THESE_67356.DROITS_UNIVERSITE">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_etablissement_these">
<mets:xmlData>
<metsRights:RightsDeclarationMD RIGHTSCATEGORY="CONTRACTUAL">
<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
<metsRights:Context CONTEXTCLASS="INSTITUTIONAL AFFILIATE">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
</metsRights:RightsDeclarationMD>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
<mets:rightsMD ID="ABES.STAR.THESE_67356.DROITS_DOCTORANT">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_auteur_these">
<mets:xmlData>
<metsRights:RightsDeclarationMD RIGHTSCATEGORY="CONTRACTUAL">
<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
<metsRights:Context CONTEXTCLASS="INSTITUTIONAL AFFILIATE">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
</metsRights:RightsDeclarationMD>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
<mets:rightsMD ID="ABES.STAR.THESE_67356.VERSION_COMPLETE.DROITS">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_version">
<mets:xmlData>
<metsRights:RightsDeclarationMD RIGHTSCATEGORY="CONTRACTUAL">
<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
<metsRights:Context CONTEXTCLASS="INSTITUTIONAL AFFILIATE">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
</metsRights:RightsDeclarationMD>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
</mets:amdSec>
<mets:fileSec>
<mets:fileGrp ID="ABES.STAR.THESE_67356.VERSION_COMPLETE.EDITION_ARCHIVAGE.FILEGRP" USE="archive">
<mets:file ADMID="ABES.STAR.THESE_67356.VERSION_COMPLETE.EDITION_ARCHIVAGE.TECH_FICHIER.DOSSIER_1.DOSSIER_1.FICHIER_1" ID="ABES.STAR.THESE_67356.VERSION_COMPLETE.EDITION_ARCHIVAGE.DOSSIER_1.DOSSIER_1.FICHIER_1" SEQ="1">
<mets:FLocat LOCTYPE="URL" xlink:href="STRA/THESE_67356/document/0/0/Imen_Fassi_2015_ED269_A.pdf"/>
</mets:file>
</mets:fileGrp>
</mets:fileSec>
<mets:structMap TYPE="logical">
<mets:div ADMID="ABES.STAR.THESE_67356.ADMINISTRATION ABES.STAR.THESE_67356.DROITS_UNIVERSITE ABES.STAR.THESE_67356.DROITS_DOCTORANT" CONTENTIDS="CONTENTIDS.ABES.STAR.THESE_67356" DMDID="ABES.STAR.THESE_67356.DESCRIPTION_BIBLIOGRAPHIQUE" TYPE="THESE">
<mets:div ADMID="ABES.STAR.THESE_67356.VERSION_COMPLETE.DROITS" CONTENTIDS="CONTENTIDS.ABES.STAR.THESE_67356.ABES.STAR.THESE_67356.VERSION_COMPLETE" TYPE="VERSION_COMPLETE">
<mets:div CONTENTIDS="CONTENTIDS.ABES.STAR.THESE_67356.VERSION_COMPLETE.EDITION_ARCHIVAGE" DMDID="ABES.STAR.THESE_67356.VERSION_COMPLETE.DESCRIPTION.EDITION_ARCHIVAGE" TYPE="EDITION">
<mets:fptr FILEID="ABES.STAR.THESE_67356.VERSION_COMPLETE.EDITION_ARCHIVAGE.FILEGRP"/>
</mets:div>
<mets:div CONTENTIDS="CONTENTIDS.ABES.STAR.THESE_67356.VERSION_COMPLETE.EDITION_1" DMDID="ABES.STAR.THESE_67356.VERSION_COMPLETE.DESCRIPTION.EDITION_1" TYPE="EDITION"/>
</mets:div>
</mets:div>
</mets:structMap>
</mets:mets>