Project Details
Projekt Print View

A hybrid approach to the generation of adjoint C++-code / hybrid adjoints

Subject Area Software Engineering and Programming Languages
Term from 2010 to 2014
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 168415794
 
Die robuste und effiziente Berechnung von Adjungierten numerischer Simulationsprogramme in C++ stellt eine signifikante Herausforderung für zahlreiche Wissenschaftler und Ingenieure dar. Derzeit existiert kein Compiler, der in der Lage wäre, beliebige C++-Programme zu adjungieren. Stattdessen müssen Laufzeitlösungen basierend auf der Überladung von Operatoren und intrinsischen Funktionen in C++ verwendet werden. Der offensichtlichen Eleganz und Robustheit dieses Ansatzes steht eine oft suboptimale Effizienz der Adjungiertenberechnung gegenüber. Gründe dafür stellen insbesondere die nicht verfügbare statische Programmanalyse und die fehlende Ausnutzung von Programmstruktur dar. Die Auswirkungen manifestieren sich bei diversen Anwendungen stärker und schwächer bei anderen. Wir schlagen einen hybriden Ansatz in Form einer Kombination von Überladung und Quellcodetransformation vor, mit dem Ziel einer garantierten näherungsweise optimalen Effizienz der generierten Adjungiertenberechnungen. Numerisch komplexe und gleichzeitig oft syntaktisch simplere Programmteile sollen per Quellcodetransformation in hocheffizienten adjungierten Code umgewandelt werden. Letzterer soll dann während der Interpretation der restlichen Berechnung zur Laufzeit automatisch aufgerufen werden. Der Nutzen dieses Ansatzes soll an zwei relevanten Anwendungsprogrammen demonstriert werden.
DFG Programme Research Grants
 
 

Additional Information

Textvergrößerung und Kontrastanpassung