aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryye00 <yye00@7daa882c-dc44-4453-834e-278d26b18e6a>2004-08-29 19:34:46 +0000
committeryye00 <yye00@7daa882c-dc44-4453-834e-278d26b18e6a>2004-08-29 19:34:46 +0000
commit8600193fc8c11752c42d6956a17c96272b33d6f4 (patch)
treeca3a16fed551e08a45f7312c01441c77ef3f4bfa
parent02c6d99801406c542ed1cc0ff747e54a2ef3015a (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.tex30
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}