Improving the Numerical Accuracy of Floating-Point Programs with Automatic Code Transformation Methods Nasrine Damouche To cite this version: Nasrine Damouche. Improving the Numerical Accuracy of Floating-Point Programs with Automatic Code Transformation Methods. Computer Arithmetic. Université de Perpignan, 2016. English. NNT: 2016PERP0032. tel-01455727 HAL Id: tel-01455727 https://theses.hal.science/tel-01455727 Submitted on 3 Feb 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. Délivré par UNIVERSITE DE PERPIGNAN VIA DOMITIA Préparée au sein de l’école doctoraleÉnergie et environnement ED 305 Et de l’unité de recherche LAMPS Spécialité Informatique: Présentée par Nasrine DAMOUCHE TITRE DE LA THESE Improving the Numerical Accuracy of Floating-Point Programs with Automatic Code Transformation Methods Soutenue le 12/12/2016 devant le jury composé de M. Marc POUZET, Professeur, Université Pierre et Marie Curie Rapporteur M. Michel RUEHER, Professeur, Université Nice Sophia Antipolis-CNRS Rapporteur M. Pierre-Loïc GAROCHE, Ingénieur de recherche – HDR, ONERA Toulouse Examinateur Mme. Laure GONNORD, Maître de conférences, Université Lyon1 Examinatrice Mme. Yassamine SELADJI, Maître de conférences, Université de Tlemcen, Algérie Examinatrice Mme. Samira EL YACOUBI, Professeur, Université de Perpignan Via Domitia Examinatrice M. Matthieu MARTEL, Professeur, Université de Perpignan, Via Domitia Directeur de thèse M. Alexandre CHAPOUTOT, Maître-assistant, ENSTA-Paristech, Palaiseau Co-Directeur de thèse Le code source est comme une belle femme, plus on le regarde, plus on trouve des dé- fauts. -Crayon ii ACKNOWLEDGEMENTS Yes! Ididit. IfinallycompletedwhatIstartedthreeyearsago. Throughthefollowingslines,I wouldliketothankallthepeoplethatsupportedmeovertheyearsandwhomadethispossible. Ofcourse,thefollowinglistisnotexhaustive,andIwilltrytokeepitshort. ∼∼∼∼∼∼∼∼∼∼∼∼ First of all, I would like to thank so much the honorably member of the jury. I am grate- ful to my reeding committee: Prof. Marc POUZET, Prof. Michel RUEHER, Prof. Pierre-Loïc GAROCHE, Prof. Laure GONNORD, Prof. Yassamine SELADJI and Prof. Samira EL YAK- OUBI. Thank you for your useful comments, which contributed to improve the quality of this manuscript. ∼∼∼∼∼∼∼∼∼∼∼∼ Second,athesisitisnotonlyasubject,deadlines,posters,ortripsovertheworld,itismostly a relationship with your supervisors. I have been lucky enough to do this thesis with Matthieu and Alexandre. They have always been there in the background assuring as well the tracking of my work to improve correctly and in the best direction. Their different personalities contribute tothesuccessofthisthesis. Thankyoubothforeverything. ∼∼∼∼∼∼∼∼∼∼∼∼ I also want to thank the director of LAMPS, Prof. Mircea SOFONEA for having welcomed me into the laboratory. An institute without a good secretariat is nothing. Luckily for me, Sylviawasalwaysavailabletosolvemyissuesandnotonly:). Ithankalsothesecondsecretary Joëlle and all the members of LAMPS laboratory for the reception and the privileged working conditionsthatwereofferedtome. ∼∼∼∼∼∼∼∼∼∼∼∼ I am also grateful to all my friends that I have met during these three years, without citing theirnames. Iamreallyenjoyedourfriendship. ∼∼∼∼∼∼∼∼∼∼∼∼ To the best parents in the whole wide world! My mother and father, who are always present forme. Thecompletion ofthisdocumentis duetotheirlove, theirkindand theirsensofhumor. TomysiblingsthatwithoutthemIamlost. Loveyouhonestlymyfamily! ∼∼∼∼∼∼∼∼∼∼∼∼ iii Forallthosetimesyoustoodbyme,forallthetruththatyoumademesee,forallthejoyyou brought to my life, for all the wrong that you made right, for every dream you made come true, foralltheloveIfoundinyou,I’llbeforeverthankfultoyou,Abdeslam. ∼∼∼∼∼∼∼∼∼∼∼∼ I dedicate this thesis to my little Aksil who has filled our lives with happiness and love. I hopeyouwillbeproudofyourmom. Hemlaγkunatasatas! ∼∼∼∼∼∼∼∼∼∼∼∼ Nasrine iv CONTENTS 1 AMÉLIORATIONDELAPRÉCISIONNUMÉRIQUEDEPROGRAMMES xiii 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv 1.2 AnalyseetTransformationdesExpressions . . . . . . . . . . . . . . . . . . . . xv 1.2.1 AnalyseStatiquepourlaPrécisionNumérique . . . . . . . . . . . . . . xv 1.2.2 TransformationdesExpressionsArithmétiques . . . . . . . . . . . . . . xix 1.3 TransformationdesCommandes . . . . . . . . . . . . . . . . . . . . . . . . . . xxi 1.4 PreuvedeCorrection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv 1.5 RésultatsExpérimentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv 1.5.1 AméliorationdelaPrécisionNumérique . . . . . . . . . . . . . . . . . . xxv 1.5.2 AccélérationdelaVitessedeConvergence . . . . . . . . . . . . . . . . xxvi 1.5.3 FormatsdeVariables . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviii 1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviii 2 Introduction 1 2.1 Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2.2 Motivatingexample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 v 2.2.1 PIDController . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.2 ExperimentalResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3.1 FormalTransformationsRulesforPrograms . . . . . . . . . . . . . . . . 12 2.3.2 ATheoremforCorrectness . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3.3 ExperimentalResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 OrganizationofThisWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.5 Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3 BackgroundandRelatedWork 21 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2 ComputerArithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.1 Floating-PointArithmetic . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2.2 IntervalArithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3 Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3.1 SSAForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3.2 FormalSemantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.4 StaticAnalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.4.1 DomainTheory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.4.2 AbstractInterpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.4.3 ErrorsComputation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.5 Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.6 TransformationofExpressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 vi 4 IntraproceduralTransformation 49 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.2 TransformationofCommands . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.3 ExampleofTransformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.3.1 Odometry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.4 ProofofCorrectness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5 InterproceduralTransformation 79 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2 TransformationofFunctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.2.1 InliningFunctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.2.2 SpecializationofFunctions . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.2.3 PassingtheParametersofFunctions . . . . . . . . . . . . . . . . . . . . 83 5.3 ChoiceoftheKindofFunctionTransformation . . . . . . . . . . . . . . . . . . 85 5.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6 Experiments:NumericalAccuracy 89 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.2 OverviewofSALSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.3 ImprovingtheAccuracyofIntraproceduralPrograms . . . . . . . . . . . . . . . 92 6.3.1 Odometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.3.2 PIDController . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.3.3 Lead-LagSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.3.4 Runge-KuttaMethods . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.3.5 TheTrapezoidalRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.3.6 RocketTrajectorySimulation . . . . . . . . . . . . . . . . . . . . . . . 99 vii 6.3.7 ExperimentalResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 6.4 ImprovingtheAccuracyofInterproceduralPrograms . . . . . . . . . . . . . . . 104 6.4.1 Odometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.4.2 Newton-Raphson’sMethod . . . . . . . . . . . . . . . . . . . . . . . . 105 6.4.3 Runge-KuttaMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 6.4.4 Simpson’sMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 6.4.5 ExperimentalResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 6.5 OptimizingtheData-TypeFormatsofVariables . . . . . . . . . . . . . . . . . . 110 6.5.1 NumericalIntegrationMethod . . . . . . . . . . . . . . . . . . . . . . . 112 6.5.2 ExperimentalResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 6.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 7 Experiments:ConvergenceAcceleration 121 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 7.2 AcceleratingtheConvergenceofIterativeMethods . . . . . . . . . . . . . . . . 122 7.2.1 LinearSystemsofEquations . . . . . . . . . . . . . . . . . . . . . . . . 122 7.2.2 ZeroFinding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 7.2.3 EigenvalueComputation . . . . . . . . . . . . . . . . . . . . . . . . . . 127 7.2.4 IterativeGram-SchmidtMethod . . . . . . . . . . . . . . . . . . . . . . 129 7.3 PerformanceAnalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 7.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 8 ConclusionandFutureWork 137 8.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 8.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 viii LIST OF FIGURES (cid:0) (cid:1) 1-1 APEGcorrespondantàl’expressione= (a+a)+c ×c. . . . . . . . . . . . . xxi 1-2 Règlesdetransformationpouraméliorerlaprécisiondeprogrammes. . . . . . . xxiii 1-3 Pourcentagedel’améliorationdelaprécisionnumériquedeprogrammes. . . . . xxvi 1-4 RésultatsdelasimulationdelaméthodedeSimpsonavecsimple,doublepréci- sionetleprogrammeoptimiséutilisantSalsa.Lesvaleursdesaxesxetycorres- pondentrespectivementauxvaleursdenetsdel’Equation1.14. . . . . . . . . . xxx 2-1 DescriptionofaPIDController. . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2-2 ValueofthemeasureminthethreePIDalgorithms. . . . . . . . . . . . . . . . . 9 2-3 ZoomonthemeasureminthethreePIDalgorithmsontheinterval[0,80][0,5.5]. 10 2-4 DifferencebetweenthevaluesofthemeasureminPID andPID . . . . . . . . . 10 1 3 2-5 Comparison between results r and r′ and between the corresponding measures mandm′. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3-1 BinaryRepresentationofFloating-PointNumbers. . . . . . . . . . . . . . . . . 24 3-2 Small-stepoperationalsemanticsofprograms. . . . . . . . . . . . . . . . . . . . 30 3-3 Completelatticepresentedintheexample3.4.1. . . . . . . . . . . . . . . . . . 33 (cid:0) (cid:1) 3-4 APEGfortheexpressione= (a+a)+b ×c. . . . . . . . . . . . . . . . . . . 42 ix
Description: