From 3c47e28b34663e0c5c23f9c5c11601b7bbfbd80d Mon Sep 17 00:00:00 2001 From: QuillPusher <130300172+QuillPusher@users.noreply.github.com> Date: Mon, 30 Oct 2023 16:46:39 +0500 Subject: [PATCH] Review changes requested by Parth and Vassil --- .../user/FloatingPointErrorEstimation.rst | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/docs/userDocs/source/user/FloatingPointErrorEstimation.rst b/docs/userDocs/source/user/FloatingPointErrorEstimation.rst index a7deef4ef..5ff623482 100644 --- a/docs/userDocs/source/user/FloatingPointErrorEstimation.rst +++ b/docs/userDocs/source/user/FloatingPointErrorEstimation.rst @@ -13,9 +13,9 @@ develop important new lossy compression algorithms. How does Automatic Differentiation (AD) fit into this? ====================================================== -AD helps evaluate the exact derivative of a function. AD applies the chain rule -of differential calculus throughout the semantics of the original program. In -the context of FP error estimation, this research uses: +AD helps evaluate the exact derivative of a function. AD applies the +differential calculus chain rule throughout the semantics of the original +program. In the context of FP error estimation, the implementation relies on: - **Reverse-Mode AD** (as opposed to Forward-Mode AD), since it provides the derivative of the function with respect to all intermediate and input @@ -25,13 +25,13 @@ the context of FP error estimation, this research uses: most of the work at compile time. The Clad Framework that is used in this research also uses source transformation. - **Clad** is implemented as a plugin for the Clang compiler. It inspects the - internal compiler representation of the target function to generate its - derivative. Clad requires little or no code modification, supports a growing - subset of C++ constructs, statements and data types, it enables efficient - gradient computation for large and complex codebases, and is deeply - integrated with the compiler, allowing automatic generation of error - estimation code. +**Clad** is implemented as a plugin for the Clang compiler. It inspects the +internal compiler representation of the target function to generate its +derivative. Clad requires little or no code modification, supports a growing +subset of C++ constructs, statements and data types, it enables efficient +gradient computation for large and complex codebases, and is deeply +integrated with the compiler, allowing automatic generation of error +estimation code. Where does the FPEE logic reside? ================================= @@ -52,15 +52,16 @@ files: Above files include a lot of useful documentation in the form of code - comments. + comments. Please view the `Doxygen Documentation`_ and the `Clad Readme`_ + for more details. How does the FPEE Logic work? ============================= -While parsing the code using Clad, if it encounters a floating point -variable,it needs to be registered into the system (to accumulate relevant -errors against that variable). Next, the Error Estimation Calcualtion Formula -(Error Model) needs to be built (using ``EstimationModel.h``). +While parsing the code using Clad, if it encounters a floating point variable, +it needs to be tracked (to accumulate relevant errors against that variable). +Next, the Error Estimation Calculation Formula (Error Model) needs to be built +(using ``EstimationModel.h``). ``EstimationModel.h`` contains the information needed to calculate the estimate value of the error. It is highly customizable (e.g., you can plug in your @@ -188,4 +189,8 @@ forward block. .. _FP-EE Proposal: https://compiler-research.org/assets/docs/Garima_Singh_Proposal_2020.pdf -.. _CHEF-FP Examples Repo: https://github.com/grimmmyshini/chef-fp-examples \ No newline at end of file +.. _CHEF-FP Examples Repo: https://github.com/grimmmyshini/chef-fp-examples + +.. _Clad Readme: https://github.com/vgvassilev/clad#floating-point-error-estimation---cladestimate_error + +.. _Doxygen Documentation: https://clad.readthedocs.io/en/latest/internalDocs/html/index.html \ No newline at end of file