98
Views
21
CrossRef citations to date
0
Altmetric
Original Articles

Fast higher-order derivative tensors with Rapsodia

&
Pages 1-14 | Received 06 Jun 2007, Published online: 04 Mar 2011
 

Abstract

A number of practical problems in physics can be solved by using accurate higher-order derivatives. Such derivatives can be obtained with automatic differentiation. However, one has to be concerned with the complexity of computing higher-order derivative tensors even for a modest order and number of independents. Initial experiments using univariate Taylor polynomials with interpolation and operator overloading with unrolled loops showed better runtimes than using other automatic differentiation tools. Motivated by these results, we developed the Rapsodia code generator that produces Fortran and C++libraries for the most common intrinsics. Here we explain the algorithmic approach, implementation, and present test results on a select set of applications. Further details on the Rapsodia tool, and an example for user extensions are given in the Appendix.

AMS Subject Classification :

Acknowledgements

The authors thank John Reid for giving the opportunity to perform the runtime comparison with AD02 at Rutherford Appleton Laboratories and C. Dal Cappello for suggesting the ionization application. Jean Utke was supported by the Mathematical, Information, and Computational Sciences Division subprogramme of the Office of Advanced Scientific Computing Research, Office of Science, US Department of Energy under contract DE-AC02-06CH11357.

Notes

In practice, most φ are uni- or bivariate.

RAsKind and RAdKind are equivalent to F77 single and double precisions, respectively.

For example, the unary ‘-’ operator could easily be declared as a member but there is no way to declare the binary ‘*’ operator a member for the case where only the right operand is a class instance and the left is passive.

The generated file names have language-specific extensions left off here.

Reprints and Corporate Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

To request a reprint or corporate permissions for this article, please click on the relevant link below:

Academic Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

Obtain permissions instantly via Rightslink by clicking on the button below:

If you are unable to obtain permissions via Rightslink, please complete and submit this Permissions form. For more information, please visit our Permissions help page.