Efficient Generated Libraries for Asynchronous Derivative Computation
|Title||Efficient Generated Libraries for Asynchronous Derivative Computation|
|Publication Type||Conference Paper|
|Year of Publication||2010|
|Authors||Buntinas, D, Malozemoff, A, Utke, J|
|Conference Name||Procedia Computer Science, Proc. ICCS 2010|
|Conference Location||Amsterdam, Netherlands|
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 run time results.