Abstract

Abstract The computation of derivatives via automatic differentiation is a valuable technique in many science and engineering applications. While the implementation of automatic differentiation via source transformation yields the highest-efficiency results, the implementation via operator overloading remains a viable alternative for some application contexts, such as the computation of higher-order derivatives or in cases where C++ still proves to be too complicated for the currently available source transformation tools. The Rapsodia code generator creates libraries that overload intrinsics for derivative computation. In this paper, we discuss modifications to Rapsodia to improve the efficiency of the generated code, first via limited loop unrolling and second via multithreaded asynchronous derivative computation. We introduce the approaches and present runtime results.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call