ebook img

Génération dynamique de code pour l'optimisation énergétique PDF

183 Pages·2016·2.62 MB·French
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Génération dynamique de code pour l'optimisation énergétique

G´en´eration dynamique de code pour l’optimisation ´energ´etique Fernando Akira Endo To cite this version: Fernando Akira Endo. G´en´eration dynamique de code pour l’optimisation ´energ´etique. Architectures Mat´erielles [cs.AR]. Universit´e Grenoble Alpes, 2015. Fran¸cais. <NNT : 2015GREAM044>. <tel-01285964> HAL Id: tel-01285964 https://tel.archives-ouvertes.fr/tel-01285964 Submitted on 10 Mar 2016 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destin´ee au d´epˆot et `a la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publi´es ou non, lished or not. The documents may come from ´emanant des ´etablissements d’enseignement et de teaching and research institutions in France or recherche fran¸cais ou ´etrangers, des laboratoires abroad, or from public or private research centers. publics ou priv´es. THÈSE Pour obtenir le grade de DOCTEUR DE L’UNIVERSITÉ DE GRENOBLE Spécialité : Informatique Arrêtéministérial:7août2006 Présentéepar Fernando Akira ENDO Thèse dirigée par Henri-Pierre CHARLES préparée au sein du Laboratoire Infrastructures Atelier Logiciel pour Puce, CEA Grenoble et de l’École Doctorale Mathématiques, Sciences et Technologies de l’Information, Informatique Génération dynamique de code pour l’optimisation énergétique Thèse soutenue publiquement le 18 Septembre 2015, devant le jury composé de : M. Frédéric PÉTROT ProfesseurauGrenobleInstituteofTechnology,Président M. Florent DE DINECHIN Professeuràl’INSAdeLyon,Rapporteur M. Paul KELLY Professeuràl’ImperialCollegeLondon,Rapporteur Mme Karine HEYDEMANN Maîtredeconférencesàl’UniversitéPierreetMarieCurie,Examinatrice M. Henri-Pierre CHARLES DirecteurderechercheauCEALIST,Directeurdethèse M. Damien COUROUSSÉ IngénieurchercheurauCEALIST,Grenoble,Co-Encadrantdethèse Dedico esta tese a minha família, que sempre me apoiou. iv Agradecimentos Gostaria de agradecer a todo pessoal do laboratório, que me acolheu durante esses três anos de doutorado,etambémaoCEApelofinanciamentodestatese,assimcomoaosintegrantesdabancaexam- inadora,emespecialaosexaminadoresdadissertação,Dr.FlorentdeDinechineDr.PaulKelly,porsuas sugestõesecorreções. Gostariade agradecerespecialmente aosmeus amigosFayçal Benazize ThibaultCattelani, queme ajudaram a revisar e corrigir o resumo em francês da tese, e também Alexandre Aminot, Ivan Llopard, Laurentiu Trifan, Thierno Barry, Tiana Rakotovao e Victor Lomüller, que revisaram e corrigiram meus artigos,queporsuavezforamintegradosàtese. Gostaria também de agradecer à UNICAMP, ao programa BRAFITEC e ao INSA de Lyon, sem os quais não teria tido a oportunidade de realizar um intercâmbio na França e obter um diploma francês, quefacilitouminhacandidaturaaodoutorado. Finalmente,gostariadeagradeceràPhiInnovations,poisgrandepartedoconhecimentoqueaprendi nessa empresa, incluindo a BeagleBoard-xM que recebi de presente, foram úteis ao desenvolvimento técnicoecientíficodemeustrabalhos. vi Contents I Thesis 1 1Introduction 3 1.1 Thesiscontribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.1.1 Run-timecodegenerationandauto-tuningforembeddedsystems . . . . . . . . 7 1.1.2 Micro-architecturalsimulationofARMcores . . . . . . . . . . . . . . . . . . . 7 1.2 Thesisorganization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2Stateoftheart 9 2.1 SourcesofenergyconsumptioninICs . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.1 Staticorleakagepower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.2 Dynamicpower . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2 Energyreductiontechniquesintegratedintocompilers . . . . . . . . . . . . . . . . . . . 10 2.2.1 Energyreductioninsoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.2 Compilertechniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3 TheARMarchitecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4 Embeddedprocessorsimulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4.1 Abstractionlevels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4.2 Micro-architecturalperformancesimulation . . . . . . . . . . . . . . . . . . . . 16 2.4.3 Micro-architecturalenergysimulation . . . . . . . . . . . . . . . . . . . . . . . 18 2.5 Run-timecodeoptimizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.5.1 Run-timecodespecialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.5.2 Dynamicbinaryoptimizations . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.5.3 Run-timerecompilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.5.4 Onlineauto-tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3Micro-architecturalsimulationofARMprocessors 29 3.1 gem5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.1.1 Thearm_detailedconfiguration . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1.2 Modelingimprovements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.3 In-ordermodelbasedontheO3CPUmodel . . . . . . . . . . . . . . . . . . . . 35 3.2 McPAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2.2 Bettermodelingcoreheterogeneity . . . . . . . . . . . . . . . . . . . . . . . . 40 3.3 Parametersandstatisticsconversionfromgem5toMcPAT . . . . . . . . . . . . . . . . 40 viii CONTENTS 3.4 Performancevalidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.4.1 Referencemodels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.4.2 Simulationmodels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.4.3 Benchmarks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.4.4 AccuracyevaluationoftheCortex-Amodels . . . . . . . . . . . . . . . . . . . 47 3.4.5 In-ordermodelbehaviorandimprovementforaCortex-A8 . . . . . . . . . . . . 49 3.5 Areaandrelativeenergy/performancevalidation . . . . . . . . . . . . . . . . . . . . . . 51 3.5.1 Referencemodels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.5.2 Simulationmodels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.5.3 Benchmarks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.5.4 Areavalidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.5.5 Relativeenergy/performancevalidation . . . . . . . . . . . . . . . . . . . . . . 56 3.6 Exampleofarchitectural/micro-architecturalexploration . . . . . . . . . . . . . . . . . 57 3.7 Scopeandlimitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.7.1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.7.2 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4Run-timecodegeneration 63 4.1 deGoal: atooltoembeddynamiccodegeneratorsintoapplications . . . . . . . . . . . . 63 4.1.1 Utilizationworkflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.1.2 Example of kernel implementation: C with and without SIMD intrinsics and deGoalversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.1.3 TheBeginandEndcommands . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.1.4 Registerallocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.1.5 Codegenerationdecisions: deGoalmixedtoCcode . . . . . . . . . . . . . . . 68 4.1.6 Branchesandloops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.2 Thesiscontribution: NewfeaturesandportingtoARMprocessors . . . . . . . . . . . . 69 4.2.1 Overviewofcontributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.2.2 SISDandSIMDcodegeneration . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.2.3 Configurableinstructionscheduler . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.2.4 Staticanddynamicconfiguration. . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.2.5 Furtherimprovementsanddiscussion . . . . . . . . . . . . . . . . . . . . . . . 74 4.3 Performanceanalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.3.1 Evaluationboards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.3.2 BenchmarksanddeGoalkernels . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.3.3 Rawperformanceevaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.3.4 Transparentvectorization: SISDvsSIMDcodegeneration . . . . . . . . . . . . 80 4.3.5 Dynamiccodespecialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.3.6 Run-timeauto-tuningpossibilitieswithdeGoal . . . . . . . . . . . . . . . . . . 82 4.4 Scopeandlimitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.4.1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.4.2 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 CONTENTS ix 5Onlineauto-tuningforembeddedsystems 87 5.1 Motivationalexample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.2 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.2.1 Auto-tuningwithdeGoal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 5.2.2 Regenerationdecisionandspaceexploration . . . . . . . . . . . . . . . . . . . 94 5.2.3 Kernelevaluationandreplacement . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.3 Experimentalsetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.3.1 Hardwareplatforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.3.2 Simulationplatform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.3.3 Benchmarks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.3.4 Evaluationmethodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.4 Experimentalresults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.4.1 Realplatforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.4.2 Simulatedcores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.4.3 Analysiswithvaryingworkload . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.4.4 Analysisofcorrelationbetweenauto-tuningparametersandpipelinedesigns . . 105 5.5 Scope,limitationsandfuturework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.5.1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.5.2 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.5.3 Futurework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 6Conclusionandprospects 111 6.1 Achievements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 6.1.1 Embeddedcoresimulationwithgem5andMcPAT . . . . . . . . . . . . . . . . 111 6.1.2 Run-timecodegenerationandauto-tuningforembeddedsystems . . . . . . . . 112 6.1.3 Summaryofachievements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 6.1.4 Amountofwork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 6.2 Prospects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 II Appendix 117 Agem5toMcPATconversiontables 119 Listoffigures 126 Listoftables 128 Bibliography 131 Personalbibliography 143 Glossary 145 Résuméétendu 149

Description:
l'Information, Informatique. Génération dynamique de code pour l'optimisation énergétique. Thèse soutenue publiquement le 18 Septembre 2015,.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.