Font Size: a A A

The Research On Implement Technique Of Automatic Differentiation Tools

Posted on:2003-11-19Degree:MasterType:Thesis
Country:ChinaCandidate:P LiFull Text:PDF
GTID:2168360092498949Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the development of computing, computation has become the third important method following the scientific theory and experimentation. More and more application fields take the computing technique as a way to solve many practical questions. Numerical simulation has played an important role in some scientific research fields and national economy fields such as the oceanography, meteorology and the environmentology. Many applications need to compute the derivatives of a function, such as the field of optimality analysis ,sensitivity analysis and data assimilation and so on. Developing of two modes named adjoint mode and tangent mode, which are used widely in the field of numerical weather broadcast, is a typical issue to fulfill the needs.Automatic differentiation technique is to add derivative calculation code to a process. It has two modes. One is adjoint mode. The other is tangent mode. There exist two implementing methods in the automatic differentiation, including the source transformation method and the operator overloading method.The automatic differentiation available just can handle a derivative unit. Usually, the code of a derivative unit just includes fixed composition. In this article, we made a deep research on the rule of differentiation of almost all structures, designed a frame of automatic differentiation.With the promoting of the needs of calculating the derivatives effectively and accurately diversiform automatic differentiation tools have been developed. Some mature tools can handle some process with hundreds to thousands column codes. In this article, we gave a sorting method of automatic differentiation tools and provided an example for introduction use. Also, we used many page to introduce several mature tools and made a description of their performance.In this article, we gave a detailed analysis with Odyssee that is a kind of automatic differentiation tools. Odyssee was developed by Sophia Antipolis research center of France INRIA Company in almost six years. It can make both adjoint mode transformation and tangent mode transformation. Odyssee is an exploitation of Ocaml language basically. We analyzed the source code of this tool on the base of in-depth comprehension of Ocaml, main including the definition part of data types,the public function part, the accidence and syntax analysis parts. The first and the seecond parts are the basis of the whole source code, they define the data types and error management used in the code and public functions called by the code. The accidence and syntax analysis parts consist of the analysis of data stream of the input directive and the Fortran program. The latter is the emphasis of this article. Its hard core is the accidence analysis builder grammar_lexer.mll and the syntax analysis builder grammarjpaser.mly. It transforms the Fortran character string in the program, which would be processed automatic differentiation transform, into data stream of diversified syntax units.Actual automatic differentiation technique cann't fulfil the needs of the application fields well, such as the incompatible problem in the different operating system and the nonsupporting problem with the language needed to be processed automatic differentiation transform. We made some amelioration based on the deep research on the source code of Odyssee to make it suit our present appliance, such as the supporting with Fortran90.
Keywords/Search Tags:Automatic differentiation, Calculating differentiation, Tangent mode, Adjoint mode, Forward mode, Reverse mode, Automatic differentiation tool
PDF Full Text Request
Related items