Compilation efficace d’applications de traitement d’images pour processeurs manycore Pierre Guillou To cite this version: Pierre Guillou. Compilation efficace d’applications de traitement d’images pour processeurs many- core. Ordinateur et société [cs.CY]. Université Paris sciences et lettres, 2016. Français. NNT: 2016PSLEM022. tel-01531196 HAL Id: tel-01531196 https://pastel.archives-ouvertes.fr/tel-01531196 Submitted on 1 Jun 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THÈSE DE DOCTORAT de l'Université de recherche Paris Sciences et Lettres PSL Research University Préparée à MINES ParisTech Compilation efficace d'applications de traitement d'images pour processeurs manycore École doctorale no432 SCIENCES ET MÉTIERS DE L'INGÉNIEUR Spécialité INFORMATIQUETEMPS RÉEL, ROBOTIQUE ETAUTOMATIQUE COMPOSITION DU JURY : Cédric BASTOUL Université de Strasbourg, Président Fabrice RASTELLO Inria, Rapporteur Antoniu POP University of Manchester, Examinateur Soutenue par Pierre GUILLOU Dumitri POTOP-BUTUCARU le mercredi 30 novembre 2016 Inria, Examinateur Stéphane LOUISE Dirigée par François IRIGOIN CEALIST, Examinateur et par Fabien COELHO François IRIGOIN MINES ParisTech, Examinateur Fabien COELHO MINES ParisTech, Examinateur Compilation efficace d’applications de traitement d’images pour processeurs manycore Pierre GUILLOU MINES ParisTech, PSL Research University Thèsededoctoratsoutenuelemercredi30novembre2016 i Nousprendronsletempsdevivre D’êtrelibres,monamour Sansprojetsetsanshabitudes Nouspourronsrêvernotrevie Viens,jesuislà,jen’attendsquetoi Toutestpossible,toutestpermis Viens,écoutecesmotsquivibrent Surlesmursdumoisdemai Ilsnousdisentlacertitude Quetoutpeutchangerunjour Viens,jesuislà,jen’attendsquetoi Toutestpossible,toutestpermis —GeorgesMoustaki,Letempsdevivre iii Résumé Nousassistonsàuneexplosiondunombred’appareilsmobileséquipésdecapteursoptiques: smartphones,tablettes,drones…préfigurentunInternetdesobjetsimminent.Denouvelles applicationsdetraitementd’images(filtres,compression,réalitéaugmentée)exploitentces capteursmaisdoiventrépondreàdescontraintesfortesdevitesseetd’efficacitéénergétique. Lesarchitecturesmodernes—processeursmanycore,GPUs,…—offrentunpotentielde performance,aveccependantunehaussesensibledelacomplexitédeprogrammation. L’ambition de cette thèse est de vérifier l’adéquation entre le domaine du traitement d’imagesetcesarchitecturesmodernes:concilierprogrammabilité,portabilitéetperfor- manceresteencoreaujourd’huiundéfi.Ledomainedutraitementd’imagesprésenteunfort parallélismeintrinsèque,quipeutpotentiellementêtreexploitéparlesdifférentsniveauxde parallélismeoffertsparlesarchitecturesactuelles.Nousnousfocalisonsicisurledomaine dutraitementd’imagesparmorphologiemathématique,etvalidonsnotreapprocheavec l’architecturemanycoreduprocesseurMPPAdelasociétéKalray. Nousprouvonsd’abordlafaisabilitédechaînesdecompilationintégrées,composéesde compilateurs,bibliothèquesetd’environnementsd’exécution,quiàpartirdelangagesde hautniveautirentpartidedifférentsaccélérateursmatériels.Nousnousconcentronsplus particulièrementsurlesprocesseursmanycore,suivantlesdifférentsmodèlesdeprogram- mation:OpenMP;langageflotdedonnées;OpenCL;passagedemessages.Troischaînes decompilationsurquatreontétéréalisées,etsontaccessiblesàdesapplicationsécritesdans deslangagesspécifiquesaudomainedutraitementd’imagesintégrésàPythonouC.Elles améliorentgrandementlaportabilitédecesapplications,désormaisexécutablessurunplus largepaneld’architecturescibles. Ces chaînes de compilation nous ont ensuite permis de réaliser des expériences com- paratives sur un jeu de sept applications de traitement d’images. Nous montrons que le processeurMPPAestenmoyenneplusefficaceénergétiquementqu’unensembled’accéléra- teursmatérielsconcurrents,etceciparticulièrementaveclemodèledeprogrammationflot dedonnées.Nousmontronsquelacompilationd’unlangagespécifiqueintégréàPython versunlangagespécifiqueintégréàCpermetd’augmenterlaportabilitéetd’améliorerles performancesdesapplicationsécritesenPython. Nos chaînes de compilation forment enfin un environnement logiciel complet dédié audéveloppementd’applicationsdetraitementd’imagesparmorphologiemathématique, capabledeciblerefficacementdifférentesarchitecturesmatérielles,dontleprocesseurMPPA, etproposantdesinterfacesdansdeslangagesdehautniveau. Mots clés : Langagesspécifiquesàundomaine,Compilation,Processeursmanycore, Traitementd’image,Modèlesdeprogrammation v Abstract Manymobiledevicesnowintegrateopticsensors;smartphones,tablets,drones…are foreshadowinganimpendingInternetofThings(IoT).Newimageprocessingapplications (filters, compression, augmented reality) are taking advantage of these sensors under strongconstraintsofspeedandenergyefficiency. Modernarchitectures,suchasmanycore processorsorGPUs,offergoodperformance,butarehardtoprogram. Thisthesisaimsatcheckingtheadequacybetweentheimageprocessingdomainand these modern architectures: conciliating programmability, portability and performance is still a challenge today. Typical image processing applications feature strong, inherent parallelism,whichcanpotentiallybeexploitedbythevariouslevelsofhardwareparallelism inside current architectures. We focus here on image processing based on mathematical morphology,andvalidateourapproachusingthemanycorearchitectureoftheKalrayMPPA processor. Wefirstprovethatintegratedcompilationchains,composedofcompilers,librariesand run-timesystems,allowtotakeadvantageofvarioushardwareacceleratorsfromhigh-level languages. We especially focus on manycore processors, through various programming models: OpenMP, data-flow language, OpenCL, and message passing. Three out of four compilationchainshavebeendeveloped,andareavailabletoapplicationswrittenindomain- specificlanguages(DSL)embeddedinCorPython. Theygreatlyimprovetheportabilityof applications,whichcannowbeexecutedonalargepaneloftargetarchitectures. Then, thesecompilationchainshaveallowedustoperformcomparativeexperiments onasetofsevenimageprocessingapplications. WeshowthattheMPPAprocessorison averagemoreenergy-efficientthancompetinghardwareaccelerators,especiallywiththe data-flowprogrammingmodel. WeshowthatcompilingaDSLembeddedinPythontoa DSLembeddedinCincreasesboththeportabilityandtheperformanceofPython-written applications. Thus,ourcompilationchainsformacompletesoftwareenvironmentdedicatedtoimage processingapplicationdevelopment. Thisenvironmentisabletoefficientlytargetseveral hardwarearchitectures,amongthemtheMPPAprocessor,andoffersinterfacesinhigh-level languages. Keywords : Domain Specific Languages, Compilation, Manycore Processors, Image Processing,ProgrammingModels vii
Description: