doc: promote section titles for correct hierarchy
authorRamprasad Venkataraman <ramv@illinois.edu>
Wed, 25 Jul 2012 20:24:22 +0000 (15:24 -0500)
committerRamprasad Venkataraman <ramv@illinois.edu>
Wed, 25 Jul 2012 20:24:22 +0000 (15:24 -0500)
doc/charm++/advancedarrays.tex
doc/charm++/further.tex
doc/charm++/python.tex

index cd41191e543652d270bdfa7340a276085ab034ce..dc5d47451d5b9b7e7dab8e8d69a4b92ff15d62bc 100644 (file)
@@ -3,7 +3,7 @@ broadcasts, and reductions) are needed in almost every
 \charmpp{} program.  The more advanced techniques that follow
 are not universally needed; but are still often useful.
 
-\subsubsection{Local Access}
+\section{Local Access}
 
 \index{ckLocal for arrays}
 \label{ckLocal for arrays}
@@ -24,9 +24,9 @@ then, to either avoid \kw{ckLocal} or else call \kw{ckLocal}
 each time the element may have migrated; e.g., at the start 
 of each entry method.
 
-\subsubsection{Advanced Array Creation}
-
+\section{Advanced Array Creation}
 \label{advanced array create}
+
 There are several ways to control the array creation process.
 You can adjust the map and bindings before creation, change
 the way the initial array elements are created, create elements
@@ -38,8 +38,7 @@ or create different elements using different methods.
 An array element has the same syntax and semantics no matter
 how it was created.  
 
-\subsubsection{Advanced Array Creation: CkArrayOptions}
-
+\section{CkArrayOptions}
 \index{CkArrayOptions}
 \label{CkArrayOptions}
 
@@ -85,8 +84,7 @@ array elements will be inserted by bulk creation or by {\tt
   opts.setStaticInsertion(true)} \footnote{This can enable a slightly
   faster default mapping scheme.}.
 
-\subsubsection{Advanced Array Creation: Map Object}
-
+\section{Map Object}
 \index{array map}
 \label{array map}
 
@@ -154,8 +152,7 @@ For example, if you've declared a map object named ``BlockMap'':
 
 
 
-\subsubsection{Advanced Array Creation: Initial Elements}
-
+\section{Initial Elements}
 \index{array initial}
 \label{array initial}
 
@@ -202,10 +199,10 @@ Thus calling \kw{ckNew(10)} on a 3-processor machine would result in
 30 elements being created.
 
 
-\subsubsection{Advanced Array Creation: Bound Arrays}
-
+\section{Bound Arrays}
 \index{bound arrays} \index{bindTo}
 \label{bound arrays}
+
 You can ``bind'' a new array to an existing array
 using the \kw{bindTo} method of \kw{CkArrayOptions}.  Bound arrays
 act like separate arrays in all ways except for migration--
@@ -286,8 +283,7 @@ private:
 \end{alltt}
 
 
-\subsubsection{Advanced Array Creation: Dynamic Insertion}
-
+\section{Dynamic Insertion}
 \label{dynamic_insertion}
 
 In addition to creating initial array elements using ckNew,
@@ -349,7 +345,7 @@ create an array element on based on the current map object.
 
 
 
-\subsubsection{Advanced Array Creation: Demand Creation}
+\section{Demand Creation}
 
 Normally, invoking an entry method on a nonexistant array
 element is an error.  But if you add the attribute
@@ -372,10 +368,10 @@ created elements.
 
 
 
-\subsubsection{User-defined Array Index Type}
+\section{User-defined Array Indices}
 \label{user-defined array index type}
-
 \index{Array index type, user-defined}
+
 \charmpp{} array indices are arbitrary collections of integers.
 To define a new array index, you create an ordinary C++ class 
 which inherits from \kw{CkArrayIndex} and sets the ``nInts'' member
@@ -453,12 +449,10 @@ AF::AF()
 \}
 \end{alltt}
 
-%\subsubsection{Load Balancing Chare Arrays}
-
+%\section{Load Balancing Chare Arrays}
 %see section~\ref{lbFramework}
 
-\subsubsection{Array Section}
-
+\section{Array Sections}
 \label{array section}
 
 \charmpp{} supports the array section operation, the section operation identifies a subset of array 
@@ -540,10 +534,8 @@ creates some limitation on the construction delegation and use of
 array section proxies.  For safety, array sections should be
 created in a post constructor entry method.
 
-
 \label {array_section_multicast}
 
-
 To use the library, you need to compile and install CkMulticast library and 
 link your applications against the library using -module:
 
@@ -606,7 +598,7 @@ Due to this restriction, you must define message explicitly for multicast
 entry functions and no parameter marshalling can be used for multicast with 
 CkMulticast library.
 
-\paragraph{Array Section Reduction} 
+\subsection{Array Section Reduction} 
 
 Since an array element can be a member of multiple array sections, 
 it is necessary to disambiguate between which array
@@ -665,7 +657,7 @@ As in an array reduction, users can use built-in reduction
 types(Section~\ref{builtin_reduction}) or define his/her own reducer functions
 (Section~\ref{new_type_reduction}).
 
-\paragraph{Array section multicast/reduction when migration happens}
+\subsection{Array section multicast/reduction when migration happens}
 
 Using multicast/reduction, you don't need to worry about array migrations.
 When migration happens, array element in the array section can still use 
@@ -700,11 +692,9 @@ void Foo::pup(PUP::er & p) {
 }
 \end{alltt}
 
-\paragraph{Cross Array Sections}
-
-
-\experimental{}
+\subsection{Cross Array Sections}
 \label{cross array section}
+\experimental{}
 
 Cross array sections contain elements from multiple arrays.
 Construction and use of cross array sections is similar to normal
index 9f92b261184ec191f14b59ede23076b942d489df..a245996e14289e67ce9939eb66171d4c03763488 100644 (file)
@@ -4,7 +4,7 @@
 For starters, see the publications, reports, and manuals 
 on the Parallel Programming Laboratory website: \texttt{http://charm.cs.uiuc.edu/}. 
 
-\subsection{Associated Tools and Libraries}
+\section{Associated Tools and Libraries}
 
 Several tools and libraries are provided for \charmpp{}. \projections{} 
 is an automatic performance analysis tool which provides
@@ -14,7 +14,7 @@ libraries is to reduce the time needed to develop parallel
 applications with the help of a set of efficient and re-usable modules.
 Most of the libraries have been described in a separate manual.
 
-\subsection{\projections}
+\section{\projections}
 
 \projections{} is a performance visualization and feedback tool. The system has
 a much more refined understanding of user computation than is possible in
index 0be547dfb7e23e7de0f92eb59859a1b1777a05a2..d7a5484064b4e7e9de436ad57adcfe7712f75677 100644 (file)
@@ -35,7 +35,7 @@ The description will follow the client implementation first, and continuing then
 on the server implementation.
 
 
-\subsubsection{The client side}
+\section{The client side}
 
 \label{pythonClient}
 
@@ -76,8 +76,7 @@ following format:
 CcsSendRequest (&server, "pyCode", 0, request.size(), request.pack());
 \end{alltt}
 
-\subsubsection{PythonExecute}
-
+\section{PythonExecute}
 \label{pythonExecute}
 
 To execute a Python script on a running server, the client has to create an
@@ -166,8 +165,7 @@ available, either because it was not persistent or because another script is
 still running on that interpreter.
 
 
-\subsubsection{Auto-imported modules}
-
+\section{Auto-imported modules}
 \label{pythonModules}
 
 When a Python script is run inside a \charmpp{} application, two Python modules
@@ -224,8 +222,7 @@ extra parenthesis may be needed to create tuples from individual values.
 
 \end{description}
 
-\subsubsection{Iterate mode}
-
+\section{Iterate mode}
 \label{pythonIterator}
 
 Sometimes some operations need to be iterated over all the elements in the
@@ -290,8 +287,7 @@ this same memory a call to unpack will be performed. Finally, the third will do
 the work opposite to pack and fix all the pointers. This method will not return
 anything and is supposed to fix the pointers ``inline''.
 
-\subsubsection{PythonPrint}
-
+\section{PythonPrint}
 \label{pythonPrint}
 
 In order to receive the output printed by the Python script, the client needs to
@@ -330,8 +326,7 @@ void setKill(bool set);
 bool isKill();
 \end{alltt}
 
-\subsubsection{PythonFinished}
-
+\section{PythonFinished}
 \label{pythonFinished}
 
 In order to know when a Python code has finished executing, especially when
@@ -354,8 +349,7 @@ This request will return a 4 byte integer containing the same interpreter value
 if the Python script has already finished, or zero if the script is still
 running.
 
-\subsubsection{The server side}
-
+\section{The server side}
 \label{pythonServer}
 
 In order for a \charmpp{} object (chare, array, node, or nodegroup) to receive
@@ -382,8 +376,7 @@ localVar.registerPython(``pycode'');
 \end{alltt}
 
 
-\subsubsection{Server \kw{read} and \kw{write} functions}
-
+\section{Server \kw{read} and \kw{write} functions}
 \label{pythonServerRW}
 
 As explained previously in subsection~\ref{pythonModules}, some functions are
@@ -405,8 +398,7 @@ parse the parameters, and create the value of the read, please refer to the
 manual \htmladdnormallink{``Extending and Embedding the Python Interpreter''}{http://docs.python.org/}, and in particular to the functions
 \texttt{PyArg\_ParseTuple} and \texttt{Py\_BuildValue}.
 
-\subsubsection{Server iterator functions}
-
+\section{Server iterator functions}
 \label{pythonServerIterator}
 
 In order to use the iterative mode as explained in
@@ -445,8 +437,7 @@ Both functions return an integer which will be interpreted by the system as foll
 \item[0] - there are no more elements to iterate.
 \end{description}
 
-\subsubsection{Server utility functions}
-
+\section{Server utility functions}
 \label{pythonUtilityFuncs}
 
 They are inherited when declaring an object as Python-compliant, and therefore
@@ -482,8 +473,7 @@ void pythonGetComplex(PyObject*, char*, double*, double*);
 
 To handle more complicated structures like Dictionaries, Lists or Tuples, please refer to \htmladdnormallink{``Python/C API Reference Manual''}{http://docs.python.org/}.
 
-\subsubsection{High level scripting}
-
+\section{High level scripting}
 \label{pythonHighLevel}
 
 When in addition to the definition of the \charmpp{} object as \kw{python}, an