diff options
author | yye00 <yye00@7daa882c-dc44-4453-834e-278d26b18e6a> | 2004-08-29 19:34:46 +0000 |
---|---|---|
committer | yye00 <yye00@7daa882c-dc44-4453-834e-278d26b18e6a> | 2004-08-29 19:34:46 +0000 |
commit | 8600193fc8c11752c42d6956a17c96272b33d6f4 (patch) | |
tree | ca3a16fed551e08a45f7312c01441c77ef3f4bfa | |
parent | 02c6d99801406c542ed1cc0ff747e54a2ef3015a (diff) |
beginning sending in documentation
git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/LocalReduce/trunk@34 7daa882c-dc44-4453-834e-278d26b18e6a
-rw-r--r-- | doc/documentation.tex | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/doc/documentation.tex b/doc/documentation.tex index fc61ad3..f4ef07f 100644 --- a/doc/documentation.tex +++ b/doc/documentation.tex @@ -79,7 +79,7 @@ \begin{document} % The author of the documentation -\author{Ravi Paruchuri \textless ravi9@bit.csc.lsu.edu\textgreater} +\author{Yaakoub Y El Khamra \textless yye00@cct.lsu.edu\textgreater} % The title of the document (not necessarily the name of the Thorn) \title{} @@ -99,20 +99,42 @@ % Add an abstract for this thorn's documentation \begin{abstract} - +Implement reduction operations using the new reduction API. \end{abstract} % The following sections are suggestive only. % Remove them or add your own. \section{Introduction} - +A local reduction operation can be defined as an operation +on arrays (tuples) of variables resulting in a single number. +Typical reduction operations are sum, minimum/maximum value, and boolean +operations. A typical application is, for example, +finding the minimum value in an n-dimensional array. + +This implementation of local reduction implements reduction and registers +functions using the new local reduction API as discussed on the developers +mailing lists. \section{Physical System} \section{Numerical Implementation} +The new local reduce thorn has several new features including index strides and offsets +for array indexing and full complex number support. Pending request, weight support +can be enabled (there are some issues that a mask is essentially a weight with 1 or 0 value). -\section{Using This Thorn} +Modifying or extending this thorn is quite a simple matter. The heart of all the reduction +operations is the large iterator macro in local_reductions.h. This iterator supports n-dimensional +arrays with offsets and strides. The iterator is used in all local reduction operators in this thorn. +To add a reduction operator, or change an existing one, all that needs to be done is to change the +actual reduction operation definition which is called from within the iterator to perform the reduction. +To use a custom local reduction operator from the new global reduction implementation, some values +must be returned to the global reduction implementation, such as the type of MPI reduction operation that +needs to be performed (MPI_SUM, MPI_MIN, MPI_MAX) and if the final result should include a division by the +total number of points used in the reduction. These are set in the parameter table with keys: mpi_operation and perform_division. + +\section{Using This Thorn} +Please refer to the TestLocalReduce thorn in the CactusTest arrangement. \subsection{Obtaining This Thorn} \subsection{Basic Usage} |