eva-flo : présentation du projet et avancement des travaux

72

Upload: others

Post on 19-Jun-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

EVA-Flo : présentation du projetet avancement des travaux

CEA Saclay

8 avril 2008

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 2: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Contenu scienti�queInformations pratiques

Plan de l'exposé

Présentation générale du projet EVA-FloContenu scienti�queInformations pratiques

Avancement des travaux autour de LEMAPourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 3: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Contenu scienti�queInformations pratiques

EVA-Flo : Évaluation et Validation Automatique pour le calcul Flottant

Objectifs : meilleur code �ottant, obtenu plus rapidement, avecune garantie sur la qualité du résultat calculé.

Qualité du résultat :

I par exemple, précision (erreur petite), �abilité (pasd'over/under�ow), portabilité. . . ;

I doit être quanti�ée et garantie, prouvée.

Automatisation du développement et de la validation.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 4: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Contenu scienti�queInformations pratiques

EVA-Flo : Évaluation et Validation Automatique pour le calcul Flottant

Calcul �ottant

Codes visés : expressions ou portions de code contenantI opérations arithmétiques et algébriques, fonctions

élémentaires ;I branchements conditionnels, boucles ;I petites portions critiques de codes.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 5: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Contenu scienti�queInformations pratiques

EVA-Flo : Évaluation et Validation Automatique pour le calcul Flottant

Validation

Spéci�cations : quels critères de qualité ?I ils feront partie de la spéci�cation du code ;I bornes d'erreur �nes ; outils : analyse par intervalles,

conditionnement, di�érentiation automatique, analyse desensibilité, précision arbitraire, complexité de leur calcul ;

I utilisation de l'arithmétique �ottante : portabilité du code�ottant, arrondis successifs, exceptions ;

I précision : algorithmes compensés, quadruple précision,double-double. . . : quelle méthode choisir ?

I ensembles d'entrée, de sortieI autres : précision arbitraire, calcul exact. . .

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 6: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Contenu scienti�queInformations pratiques

EVA-Flo : Évaluation et Validation Automatique pour le calcul Flottant

ÉvaluationObjectif : calculer une valeur �ottante proche d'une valeurmathématique exacte.

Di�cultés :I décrire la valeur mathématique exacte, ce que l'on veut

calculer ;I construire un bon approximant, critères = proximité

mathématique, respect de certaines contraintes, mais aussierreurs d'arrondi ;

I déterminer un bon schéma d'évaluation : précis, rapide ;I déterminer pour quelles expressions il est intéressant

d'optimiser ainsi.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 7: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Contenu scienti�queInformations pratiques

EVA-Flo : Évaluation et Validation Automatique pour le calcul Flottant

Validation : preuve

Preuve formelle :I véri�er les preuves à l'aide d'un assistant de preuve ;I générer, avec le code, les indications permettant la preuve ;I quelles indications, comment les établir, comment les

transmettre entre les di�érents outils ?

Sémantique :I transformations de code à exprimer dans un cadre sémantique.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 8: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Contenu scienti�queInformations pratiques

EVA-Flo : Évaluation et Validation Automatique pour le calcul Flottant

Automatisation

I Di�cultés :I beaucoup de détails à traiter ;I expertise humaine et validation manuelle ⇒ petits codes ;I beaucoup d'erreurs, chronophage et non réutilisable.

I But :I automatiser cette expertise ;I traiter des codes plus conséquents.

I Directions :I spéci�cation et analyse de l'objet mathématique ;I génération du code �ottant ;I validation (incluant la preuve).

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 9: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Contenu scienti�queInformations pratiques

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 10: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Contenu scienti�queInformations pratiques

Plan de l'exposé

Présentation générale du projet EVA-FloContenu scienti�queInformations pratiques

Avancement des travaux autour de LEMAPourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 11: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Contenu scienti�queInformations pratiques

EVA-Flo : Évaluation et Validation Automatique pour le calcul Flottant

Participants

Arénaire (LIP, ENS Lyon)

Eliaus (ex-Dali, LP2A, Université Perpignan)

MeASI (CEA Saclay)

Tropics (INRIA Sophia-Antipolis)

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 12: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Contenu scienti�queInformations pratiques

EVA-Flo : Évaluation et Validation Automatique pour le calcul Flottant

Planning et résultats attendusPlanning :

I 1e année : études à partir de petits exemples (codesembarqués ou codes fournis par MeASI) ;

I 2e année : implantation, mise en pratique ;I 3e année : développement (1 an ingénieur) pour intégrer les

di�érents composants ;I 4e année : applications à de vrais exemples.

Résultats attendus :I prototype logiciel ;I dissémination : auprès de nos partenaires industriels (ST,. . . ) ;

organisation de SCAN'2010 à Lyon ;I rapports tous les 6 mois.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 13: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Contenu scienti�queInformations pratiques

EVA-Flo : Évaluation et Validation Automatique pour le calcul Flottant

Budget = 130 500eArénaire (LIP, ENS Lyon)

I 1 an ingénieur : 47 ke ;I 2 ordinateurs : 6 ke ;I réunions EVA-Flo : 12 ke ;I conférences : 19 ke.

Tropics (INRIA Sophia-Antipolis)I 1 ordinateur : 3 ke ;I réunions EVA-Flo : 3 ke ;I conférences : 1 ke.

Dali (LP2A, UniversitéPerpignan)

I 2 ordinateurs : 6 ke ;I réunions EVA-Flo : 11 ke ;I conférences : 8 ke.

MeASI (CEA Saclay)I 1 ordinateur : 3 ke ;I réunions EVA-Flo : 5.5 ke ;I conférences : 1 ke.

(et 4% de frais de gestion)CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 14: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Plan de l'exposé

Présentation générale du projet EVA-FloContenu scienti�queInformations pratiques

Avancement des travaux autour de LEMAPourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 15: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Travail e�ectué par

I Claude-Pierre JeannerodI Nicolas JourdanI Christoph LauterI Vincent LefèvreI Nicolas LouvetI Nathalie RevolI Guillaume RevyI Gilles Villard

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 16: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Pourquoi LEMA?

Rappel du texte de la proposition :

I Section "Automation" : Especially, the project will propose

interactive exchanges with the user, and code annotations.

I Section "Formal Proof" : The annotation approach will be

complemented by the use of static analysis with Fluctuat.

Abandon de l'idée d'utiliser des annotations :

I manque d'expressivitéI manque de structure

LEMA = Langage pour les Expressions Mathématiques

Annotées

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 17: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Pourquoi LEMA?

Rappel du texte de la proposition :

I Section "Automation" : Especially, the project will propose

interactive exchanges with the user, and code annotations.

I Section "Formal Proof" : The annotation approach will be

complemented by the use of static analysis with Fluctuat.

Abandon de l'idée d'utiliser des annotations :

I manque d'expressivitéI manque de structure

LEMA = Langage pour les Expressions Mathématiques

Annotées

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 18: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Pourquoi LEMA?

Rappel du texte de la proposition :

I Section "Automation" : Especially, the project will propose

interactive exchanges with the user, and code annotations.

I Section "Formal Proof" : The annotation approach will be

complemented by the use of static analysis with Fluctuat.

Abandon de l'idée d'utiliser des annotations :

I manque d'expressivitéI manque de structure

LEMA = Langage pour les Expressions Mathématiques

Annotées

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 19: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Que fait la concurrence ?

Cf. Caduceus (Sylvie Boldo et al., Proval, INRIA Saclay-Île deFrance) : annotations de code.Dans le modèle Why des �ottants, un �ottant dans un programmeest un triplet :

I le nombre �ottant e�ectivement calculé par le programme :partie �ottante,

I la valeur obtenue avec des calculs exacts : partie exacte,I la valeur idéalement calculée : partie modèle.

Comment exprimer : des valeurs calculées avec des précisionsvariables, le fait qu'une addition soit exacte (ou un Fast2Sum). . . ?

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 20: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Que fait la concurrence ?

Cf. Caduceus (Sylvie Boldo et al., Proval, INRIA Saclay-Île deFrance) : annotations de code.Dans le modèle Why des �ottants, un �ottant dans un programmeest un triplet :

I le nombre �ottant e�ectivement calculé par le programme :partie �ottante,

I la valeur obtenue avec des calculs exacts : partie exacte,I la valeur idéalement calculée : partie modèle.

Comment exprimer : des valeurs calculées avec des précisionsvariables, le fait qu'une addition soit exacte (ou un Fast2Sum). . . ?

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 21: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Point de départ : MathML

MathML : conçu pour échanger des objets entre systèmes decalcul formel,avec une sémantique mathématique.Deux approches, presentation ou content : c'est la partie content

qui nous intéresse.Cela ressemble à du XML, donc à un langage fonctionnel (et pasimpératif, bien que nous manipulions essentiellement du C. . . )mais les objets manipulés sont des expressions, donc des arbres.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 22: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Point de départ : MathML

MathML : conçu pour échanger des objets entre systèmes decalcul formel,avec une sémantique mathématique.Deux approches, presentation ou content : c'est la partie content

qui nous intéresse.Cela ressemble à du XML, donc à un langage fonctionnel (et pasimpératif, bien que nous manipulions essentiellement du C. . . )mais les objets manipulés sont des expressions, donc des arbres.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 23: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Point de départ : MathML pour pouvoir manipuler desexpressions et de la sémantique

De plus, on peut également exprimer l'erreur comme une expressionsymbolique :par exemple, comment dé�nir l'erreur relative entre x1 et x2 :

par|x1 − x2||x1|

ou par|x1 − x2||x2|

?

Cela dépend de quelle est la valeur considérée comme exacte : x1ou x2 ?

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 24: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Point de départ : MathML pour pouvoir manipuler desexpressions et de la sémantique

De plus, on peut également exprimer l'erreur comme une expressionsymbolique :par exemple, comment dé�nir l'erreur relative entre x1 et x2 :

par|x1 − x2||x1|

ou par|x1 − x2||x2|

?

Cela dépend de quelle est la valeur considérée comme exacte : x1ou x2 ?

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 25: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Point de départ : MathML pour pouvoir manipuler desexpressions et de la sémantique

Si on veut de plus considérer des nombres �ottants avec desprécisions variables pi , on aura des erreurs données par desexpressions symboliques en les pi . . .mais cela déborde du cadre d'EVA-Flo : précisions �ottantesusuelles et en tout cas �xées une fois pour tout un code.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 26: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Point de départ : MathML pour pouvoir manipuler desexpressions et de la sémantique

Si on veut de plus considérer des nombres �ottants avec desprécisions variables pi , on aura des erreurs données par desexpressions symboliques en les pi . . .mais cela déborde du cadre d'EVA-Flo : précisions �ottantesusuelles et en tout cas �xées une fois pour tout un code.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 27: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Brève introduction à MathML : exemple

(a + b)2

s'écrit<apply>

<power/>

<apply>

<plus/>

<ci>a</ci>

<ci>b</ci>

</apply>

<cn>2</cn>

</apply>

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 28: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Brève introduction à MathML : éléments

Il y a une centaine d'éléments : apply, power, plus. . .environ 90 opérateurs.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 29: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Brève introduction à MathML : attributs

<element attribut1="valeur1" attribut2="valeur2" ...>...

</element attribut="valeur">

Par exemple, on peut préciser type : entier, rationnel, complexe. . .ou base : 2, 16 . . . quand ce n'est pas 10.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 30: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Brève introduction à MathML : token

Dans l'exemple on a vu <ci> ou <cn> :c pour contenti pour identi�ern pour number.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 31: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Brève introduction à MathML : exemple

(a + b)2

s'écrit<apply>

<power/>

<apply>

<plus/>

<ci>a</ci>

<ci>b</ci>

</apply>

<cn>2</cn>

</apply>

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 32: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Brève introduction à MathML : exemples

[1,+∞[=

<interval closure="closed-open">

<cn> 1 </cn>

<ci> &infty ; </ci>

</interval>

<vector> <elt1> <elt2> ... </vector>

<matrix> <row1> <row2> ... </matrix>

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 33: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Brève introduction à MathML : exemples

[1,+∞[=

<interval closure="closed-open">

<cn> 1 </cn>

<ci> &infty ; </ci>

</interval>

<vector> <elt1> <elt2> ... </vector>

<matrix> <row1> <row2> ... </matrix>

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 34: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Brève introduction à MathML : exemples

[1,+∞[=

<interval closure="closed-open">

<cn> 1 </cn>

<ci> &infty ; </ci>

</interval>

<vector> <elt1> <elt2> ... </vector>

<matrix> <row1> <row2> ... </matrix>

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 35: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Brève introduction à MathML : exemple

+∞∑n=0

xn

<apply><sum/>

<bvar> <ci>n</ci> </bvar>

<lowlimit> <cn>0</cn> </lowlimit>

<uplimit> <ci>&infty ;</ci> </uplimit>

<apply><power/>

<ci>x</ci>

<ci>n</ci>

</apply>

</apply>

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 36: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Brève introduction à MathML

En particulier, il existe un élément semantics(prévu initialement pour pouvoir spéci�er à la fois la présentation etle contenu)qui permet d'étendre XML, en ajoutant des informationscompréhensibles par l'utilisateuret un attribut annotation.Oui, on en revient à des annotations !-)

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 37: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Brève introduction à MathML

En particulier, il existe un élément semantics(prévu initialement pour pouvoir spéci�er à la fois la présentation etle contenu)qui permet d'étendre XML, en ajoutant des informationscompréhensibles par l'utilisateuret un attribut annotation.Oui, on en revient à des annotations !-)

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 38: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Plan de l'exposé

Présentation générale du projet EVA-FloContenu scienti�queInformations pratiques

Avancement des travaux autour de LEMAPourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 39: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Exemple de Guillaume Revy :√x

Objectif :

I calculer√x avec arrondi correct

I pour x �ottant simple précision normalisé > 0I x = m · 2e .

Architecture cible : ST240, 4 voies, latences connues (3 pour ×et 1 pour +), avec des registres 32 bits, des opérations entièresuniquement.Éviter l'utilisation de tables.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 40: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Exemple de√x

x

F

F

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 41: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Exemple de√x

IR

≤ 2−54

F

F

F

x

polynôme

d'approximation

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 42: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Plan de l'exposé

Présentation générale du projet EVA-FloContenu scienti�queInformations pratiques

Avancement des travaux autour de LEMAPourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 43: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Distinction entre arbre LEMA et arithmétique utilisée

Deux points de vue ont été proposés, qui ne semblent pasfoncièrement di�érents. . .

I soit on annote les opérations "purement" mathématiques parl'arithmétique utilisée

I soit on exprime explicitement toutes les opérations e�ectuées,y compris les arrondis ; les opérations héritent / dépendentaussi d'une arithmétique en cas de besoin

Décision : annoter toutes les opérations par l'arithmétique

utilisée.

Au passage : même décision pour la représentation del'architecture, cf. réunion à Perpignan. . .

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 44: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Distinction entre arbre LEMA et arithmétique utilisée

Deux points de vue ont été proposés, qui ne semblent pasfoncièrement di�érents. . .

I soit on annote les opérations "purement" mathématiques parl'arithmétique utilisée

I soit on exprime explicitement toutes les opérations e�ectuées,y compris les arrondis ; les opérations héritent / dépendentaussi d'une arithmétique en cas de besoin

Décision : annoter toutes les opérations par l'arithmétique

utilisée.

Au passage : même décision pour la représentation del'architecture, cf. réunion à Perpignan. . .

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 45: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Distinction entre arbre LEMA et arithmétique utilisée

Deux points de vue ont été proposés, qui ne semblent pasfoncièrement di�érents. . .

I soit on annote les opérations "purement" mathématiques parl'arithmétique utilisée

I soit on exprime explicitement toutes les opérations e�ectuées,y compris les arrondis ; les opérations héritent / dépendentaussi d'une arithmétique en cas de besoin

Décision : annoter toutes les opérations par l'arithmétique

utilisée.

Au passage : même décision pour la représentation del'architecture, cf. réunion à Perpignan. . .

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 46: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

LEMA : opérations et relations

À ajouter au lexique MathML :I mantisse, exposant, exposant moduloI mode d'arrondi : fonction ou relation dans le cas de l'arrondi

�dèle ;I opérateurs FMA, ‖.‖2 ;

Quid des informations sur la fonction calculée : est-elle continue,dérivable, C2, analytique. . . ? Si on dispose de ces informations,elles devront apparaître dans les annotations.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 47: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

LEMA : opérations et relations

À ajouter au lexique MathML :I mantisse, exposant, exposant moduloI mode d'arrondi : fonction ou relation dans le cas de l'arrondi

�dèle ;I opérateurs FMA, ‖.‖2 ;

Quid des informations sur la fonction calculée : est-elle continue,dérivable, C2, analytique. . . ? Si on dispose de ces informations,elles devront apparaître dans les annotations.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 48: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

LEMA : informations sur les opérandesOn peut représenter à l'aide d'arbres, avec des opérationsrelationnels :

I majorant, strict ou non : < ou ≤ ;I minorant, strict ou non : > ou ≥ ;I plage restreinte de valeurs a ≤ x ≤ b ;I x est normalisé : à remplacer par x = m.2e avec 1/2 ≤ m < 1

et −1023 ≤ e ≤ 1022 ;c'est-à-dire remplacer x par l'arbre qui représente cetteexpression et qui hérite de l'arithmétique adéquate ;

I exprimer un domaine à trous : [−1, 1] \ [−2−15, 2−15] : àécrire ;

I ce résultat est mathématiquement valide (note : cela ne veutpas dire qu'il ne pourra pas prendre la valeur NaN : un NaNpeut être possible à cause des erreurs d'arrondi).

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 49: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

LEMA : erreurLes erreurs sont données par leurs formules, qui sont représentablespar des arbres :

I dire que, bien que le résultat soit calculé en �ottant, il estexact (eg. Sterbenz) : avoir une relation d'égalité entre x exactet x calculé en �ottant ?

I erreur ou borne d'erreur (absolue, relative, en ulp) : on a décidéde toujours donner la formule pour l'erreur sinon on ne sait pasde quoi on parle : erreur absolue = x − x̃ ou bien |x − x̃ | ?erreur relative : la formule n'est pas symétrique (x − x̃)/x ;

I erreur mathématique (eg. entre une fonction et sonapproximation polynomiale) ;

I comment exprimer l'erreur dans le cas où on a desdouble-doubles, triple-doubles : par les formules adéquates, quine sont pas nécessairement simples mais bon ;

I exprimer une erreur piecewise.CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 50: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

LEMA : erreur (suite et �n)

Distinction entre valeur exacte, approchée, cf. valeur modèle, sanserreur d'arrondi ou arrondie de Sylvie Boldo : un arbre pour chaquevaleur et une opération ou relation établissant le lien entre cesarbres.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 51: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

LEMA : arithmétique machine

I précision du calcul, cf. formats IEEE ;I base de calcul ;I présence ou non des dénormalisés ;I plage pour les exposants.

À propos de la précision arbitraire : la précision désirée pour le codeà générer est �xée au début de l'exécution, que dire de celle qui estutilisée en cours de route (pour les évaluations précises depolynômes, pour établir les encadrements. . . ) ?

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 52: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

LEMA : arithmétique machine

I précision du calcul, cf. formats IEEE ;I base de calcul ;I présence ou non des dénormalisés ;I plage pour les exposants.

À propos de la précision arbitraire : la précision désirée pour le codeà générer est �xée au début de l'exécution, que dire de celle qui estutilisée en cours de route (pour les évaluations précises depolynômes, pour établir les encadrements. . . ) ?

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 53: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

LEMA : architecture

Comment exprimerI le parallélisme ;I coût de calcul : délai, latence, mémoire, retard :

dans une boîte qui décrit l'architecture.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 54: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

LEMA : preuve ?

Comment exprimer ce qui suit ?I preuves : soit des propriétés (i.e. déjà prouvées), soit des

hypothèses (ou obligations de preuve en langage Coq/PVS, i.e.à prouver) ;

I trace d'une preuve, par exemple si un calcul par intervalles este�ectué pour prouver un encadrement : conserver lesbissections e�ectuées ;

I dire que l'on peut relaxer des contraintes (hypothèses selon ladénomination ci-dessus) si besoin, pour rendre le problèmeréalisable ou pour des questions d'optimisation.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 55: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Plan de l'exposé

Présentation générale du projet EVA-FloContenu scienti�queInformations pratiques

Avancement des travaux autour de LEMAPourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 56: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Comment arriver à l'algorithme suivant ?

Formule d'évaluation :

√x =

√m · 2e = ϕ ·

√m · 2b

e

2c

avec m ∈ [1, 2[ et ϕ ∈ {1,√2}.

Et même :

√x =

(1 + (

√2− 1) · bpe(x))

)·√

m(x) · 2be

2c

avec bpe(x) = bit de parité de l'exposant de x .

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 57: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Comment arriver à l'algorithme suivant ?

Formule d'évaluation :

√x =

√m · 2e = ϕ ·

√m · 2b

e

2c

avec m ∈ [1, 2[ et ϕ ∈ {1,√2}.

Et même :

√x =

(1 + (

√2− 1) · bpe(x))

)·√

m(x) · 2be

2c

avec bpe(x) = bit de parité de l'exposant de x .

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 58: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Représentation de cette formule

cf. dessin au tableau.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 59: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Utilisation de LEMA

comme format d'entrée et de sortie des di�érents outils présentsdans EVA-Flo (chacun devant intégrer un parseur).

Idée : ne pas réécrire tous ces outils en XSLT pour manipuler duLEMAmais pro�ter de l'existant à moindres frais.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 60: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Utilisation de LEMA

comme format d'entrée et de sortie des di�érents outils présentsdans EVA-Flo (chacun devant intégrer un parseur).

Idée : ne pas réécrire tous ces outils en XSLT pour manipuler duLEMAmais pro�ter de l'existant à moindres frais.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 61: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Avoir un dictionnaire de propriétés

par exemple de RN (arrondi au plus près),qui dit que la multiplication par une puissance de 2 est exacte (sousconditions)etc.

Comment appliquer ces propriétés / règles de réécriture ?I toutes les essayer (cf. Gappa) ?I avoir des heuristiques, des priorités, n'essayer la suivante que si

la précédente a échoué ?(Càd priorités des règles)

I etc.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 62: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Avoir un dictionnaire de propriétés

par exemple de RN (arrondi au plus près),qui dit que la multiplication par une puissance de 2 est exacte (sousconditions)etc.

Comment appliquer ces propriétés / règles de réécriture ?I toutes les essayer (cf. Gappa) ?I avoir des heuristiques, des priorités, n'essayer la suivante que si

la précédente a échoué ?(Càd priorités des règles)

I etc.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 63: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Avoir un dictionnaire de propriétés

par exemple de RN (arrondi au plus près),qui dit que la multiplication par une puissance de 2 est exacte (sousconditions)etc.

Comment appliquer ces propriétés / règles de réécriture ?I toutes les essayer (cf. Gappa) ?I avoir des heuristiques, des priorités, n'essayer la suivante que si

la précédente a échoué ?(Càd priorités des règles)

I etc.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 64: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Avoir un dictionnaire de propriétés

par exemple de RN (arrondi au plus près),qui dit que la multiplication par une puissance de 2 est exacte (sousconditions)etc.

Comment appliquer ces propriétés / règles de réécriture ?I toutes les essayer (cf. Gappa) ?I avoir des heuristiques, des priorités, n'essayer la suivante que si

la précédente a échoué ?(Càd priorités des règles)

I etc.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 65: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Avoir un dictionnaire de propriétés

par exemple de RN (arrondi au plus près),qui dit que la multiplication par une puissance de 2 est exacte (sousconditions)etc.

Comment appliquer ces propriétés / règles de réécriture ?I toutes les essayer (cf. Gappa) ?I avoir des heuristiques, des priorités, n'essayer la suivante que si

la précédente a échoué ?(Càd priorités des règles)

I etc.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 66: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Encore des choses utiles ou des extensionsN÷ud approximation

pour ne pas appliquer indé�niment des transformationscommutatives (des équivalences)pour appliquer les règles à l'approximant uniquement.

N÷ud piecewise

il existe en MathML et nous sera bien utile.Sa particularité : en cas de dé�nition multiple (d'intervalles dedé�nition qui se chevauchent), pas de problème si les dé�nitionssont équivalentes.Cela permet notamment des tests � �ous �, càd dontl'implémentation ne correspond pas aux tests mathématiques àcause des erreurs d'arrondi, mais aussi des tests dé�nis a posteriori,par exemple après timings.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 67: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Comment e�ectuer une preuve ?

Soit en prouvant que les transformations e�ectuées pour passerd'un arbre LEMA au suivant sont correctes :problème du volume des tracessoit en ne conservant que les appels aux outils (avec tous lesparamètres) :dans ce cas, problème de la preuve des outils ?

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 68: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Comment e�ectuer une preuve ?

Soit en prouvant que les transformations e�ectuées pour passerd'un arbre LEMA au suivant sont correctes :problème du volume des tracessoit en ne conservant que les appels aux outils (avec tous lesparamètres) :dans ce cas, problème de la preuve des outils ?

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 69: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Comment e�ectuer une preuve ?

Soit en prouvant que les transformations e�ectuées pour passerd'un arbre LEMA au suivant sont correctes :problème du volume des tracessoit en ne conservant que les appels aux outils (avec tous lesparamètres) :dans ce cas, problème de la preuve des outils ?

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 70: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Comment e�ectuer une preuve ?

Soit en prouvant que les transformations e�ectuées pour passerd'un arbre LEMA au suivant sont correctes :problème du volume des tracessoit en ne conservant que les appels aux outils (avec tous lesparamètres) :dans ce cas, problème de la preuve des outils ?

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 71: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Plan de l'exposé

Présentation générale du projet EVA-FloContenu scienti�queInformations pratiques

Avancement des travaux autour de LEMAPourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux

Page 72: EVA-Flo : présentation du projet et avancement des travaux

Présentation générale du projet EVA-FloAvancement des travaux autour de LEMA

Pourquoi LEMA?Un petit exemple illustratifBilan sur LEMAUtilisation de LEMAQuestions en cours

Questions en cours

I un chef d'orchestre ou plusieurs ?I lien avec les systèmes experts (ou semi-humains /

semi-automatiques) ?I lien avec la compilation (puisque transformation de codes) ?I pour démarrer le développement logiciel, trouver de

� bons �exemples :I traduire un arbre LEMA en C (générer le code C

correspondant)I approximations hiérarchiques (simpli�ées) de VincentI traitement des exceptions : ici, le problème est aussi de remplir

les boîtes carrées bleues formalisant l'arithmétique machine.

CEA Saclay EVA-Flo : présentation du projet et avancement des travaux