Johannes Blühdorn(Technische Universität Kaiserslautern)
hosted by Seminar Series on Scientific Computing
"OpDiLib, an Open Multiprocessing Differentiation Library"
Automatic differentiation (AD) comprises techniques and tools for acquiring machine-accurate derivatives of computer codes. AD has a long history of successful applications in areas like sensitivity analysis, simulation-based optimization, and, more recently, machine learning. These codes are usually executed on high performance architectures and exhibit various kinds of parallelism. Typically, multiple paradigms are combined, for example distributed memory parallelism via MPI and shared memory parallelism via OpenMP. The latter has long posed a challenge for operator overloading AD tools due to the inaccessibility of OpenMP directives with overloading techniques. In this talk, we present our new tool OpDiLib, a universal add-on for operator overloading AD tools that enables reverse mode AD of OpenMP parallel codes. It pursues an event-based implementation approach that can be combined with OMPT, a modern OpenMP feature, to achieve differentiation without additional modifications of the source code. Alternatively, it can be applied in a semi-automatic fashion via a macro interface. There are no a priori restrictions of the data access patterns and a parallel reverse pass is deduced in a fully automatic fashion. We explain OpDiLib’s design, discuss how it enables these features, and present performance results in an OpenMP-MPI hybrid parallel environment.
|Time:||Thursday, 20.05.2021, 11:30|