Analyse de dépendances de jacobiennes creuses pour la différentiation automatique
Institution:
NiceDisciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
Les ingenieurs numericiens ont souvent besoin de calculer rapidement des jacobiennes. La differentiation automatique qui consiste a calculer la derivee d'une fonction representee par un programme apparait comme un moyen efficace. Le probleme majeur de la jacobienne est son cout memoire eleve. Ce cout peut etre reduit quand celle-ci est creuse. Dans ce rapport, nous presentons une approche statique pour detecter la structure creuse de la jacobienne d'une fonction representee par un programme fortran et l'exploiter au cours de la generation du code derive. Cette approche consiste a extraire des informations sures sur les dependances des sorties par rapport aux entrees du programme. Ces informations sont obtenues par un calcul de la fermeture transitive d'un graphe infini. La structure de la jacobienne est estimee par un ensemble de dependances. Elle est decrite par une union de regions de tableaux. Pour calculer effectivement la jacobienne, une structure de donnees est choisie automatiquement. Ce choix est eventuellement suivi d'une resolution des conflits possibles entre les differentes composantes de la representation. Enfin, une transformation source-a-source du programme est effectuee grace aux informations calculees. A partir de partita (un outil d'aide a la parallelisation automatique de codes fortran developpe a l'inria) et de odyssee (un differentiateur automatique developpe a l'inria et l'unsa), nous avons implante cette approche. Les resultats des tests effectues ont montre l'aspect prometteur de notre approche.