Docs: Link exammple and test references to our gitweb
authorPhil Miller <mille121@illinois.edu>
Fri, 3 Aug 2012 23:25:43 +0000 (18:25 -0500)
committerPhil Miller <mille121@illinois.edu>
Fri, 3 Aug 2012 23:25:54 +0000 (18:25 -0500)
16 files changed:
doc/charm++/advancedarrays.tex
doc/charm++/advancedlb.tex
doc/charm++/advancedpup.tex
doc/charm++/arrays.tex
doc/charm++/callbacks.tex
doc/charm++/chares.tex
doc/charm++/commlib.tex
doc/charm++/groups.tex
doc/charm++/loadb.tex
doc/charm++/order.tex
doc/charm++/pup.tex
doc/charm++/readonly.tex
doc/charm++/reductions.tex
doc/charm++/sdag.tex
doc/charm++/threaded.tex
doc/pplmanual.tex

index 487f4b2c6142fa4ce3e7ea1b56a3be7eee28bd13..2d1296ddf98903fff68de71e6d6cdba6a7e9076b 100644 (file)
@@ -25,7 +25,7 @@ each time the element may have migrated; e.g., at the start
 of each entry method.
 
 An example of this usage is available
-in \exampleref{examples/charm++/topology/matmul3d}.
+in \examplerefdir{topology/matmul3d}.
 
 \section{Advanced Array Creation}
 \label{advanced array create}
@@ -80,7 +80,7 @@ required than inserting each element individually, which will require
 one message send per element.
 
 Examples of bulk construction are commonplace, see
-\exampleref{examples/charm++/jacobi3d-sdag}
+\examplerefdir{jacobi3d-sdag}
 for a demonstration of the slightly more complicated case of
 multidimensional chare array bulk construction.
 
@@ -162,10 +162,10 @@ For example, if you've declared a map object named ``BlockMap'':
 \end{alltt}
 
 An example which contructs one element per physical node may be found in
-\exampleref{examples/charm++/PUP/pupDisk}
+\examplerefdir{PUP/pupDisk}
 
 Other 3D Torus network oriented map examples are in
-\exampleref{examples/charm++/topology}
+\examplerefdir{topology}
 
 \subsection{Initial Elements}
 \index{array initial}
@@ -298,7 +298,7 @@ private:
 \end{alltt}
 
 A demonstration of bound arrays can be found in
-\exampleref{tests/charm++/startupTest}
+\testrefdir{startupTest}
 
 
 \subsection{Dynamic Insertion}
@@ -362,7 +362,7 @@ If you do not specify one, the system will choose a processor to
 create an array element on based on the current map object.
 
 A demonstration of dynamic insertion is available:
-\exampleref{examples/charm++/hello/fancyarray}
+\examplerefdir{hello/fancyarray}
 
 \subsection{Demand Creation}
 
@@ -386,7 +386,7 @@ classic entry methods; and demand-created and normally
 created elements. 
 
 A simple example of demand creation
-\exampleref{tests/charm++/demand\_creation}
+\testrefdir{demand\_creation}
 
 \section{User-defined Array Indices}
 \label{user-defined array index type}
@@ -470,7 +470,7 @@ AF::AF()
 \end{alltt}
 
 A demonstration of user defined indices can be seen in
-\exampleref{examples/charm++/hello/fancyarray}
+\examplerefdir{hello/fancyarray}
 
 %\section{Load Balancing Chare Arrays}
 %see section~\ref{lbFramework}
index 0eade6d30ee77f208a5dfd8e793948460574e65e..c675ad357186d3bd919e8f90f085f19023a615cf 100644 (file)
@@ -49,7 +49,7 @@ This will collect data on files data.dat.{2,3,4,5}. Then, we can use this data t
 \end{alltt}
 Please note that this does not invoke any real application run. Actually
  ''pgm'' can be replaced with any generic application which calls centralized load balancer.
-Example can be found {\tt test/charm++/load\_balancing/lb\_test/}
+An example can be found in \testrefdir{load\_balancing/lb\_test}.
 
 \section{Future load predictor}
 
index 76bfb94e90b121256c3144a5b77efb6562787087..a7db47c283d4410fec0f8e00c45985da5794fc0d 100644 (file)
@@ -451,7 +451,7 @@ binary data from an unpacking PUP::er into the machine's
 native binary format, based on a \kw{machineInfo} structure
 that describes the format used by the source machine.
 
-An example of \kw{PUP::toDisk} is available in \exampleref{examples/charm++/PUP/pupDisk}
+An example of \kw{PUP::toDisk} is available in \examplerefdir{PUP/pupDisk}
 
 \section{PUP::seekBlock}
 
index d0c627743a0c6470340ab31ecda4f466980f3ac2..c157ac74c419e6d65ef7e2455197d54223cc6726 100644 (file)
@@ -15,7 +15,7 @@ properly. Array elements can be migrated at any time, allowing arrays to be
 efficiently load balanced. A chare array (or a subset of array elements) can
 receive a broadcast/multicast or contribute to a reduction.
 
-An example program can be found here: \exampleref{examples/charm++/array/}.
+An example program can be found here: \examplerefdir{array}.
 
 \section{Declaring a One-dimensional Array}
 
@@ -323,7 +323,7 @@ In all cases, the result of the reduction operation is passed to the {\em reduct
 client}.  Many different kinds of reduction clients can be used, as
 explained in Section~\ref{reductionClients}.
 
-Please refer to \exampleref{examples/charm++/typed\_reduction} for a working example of
+Please refer to \examplerefdir{typed\_reduction} for a working example of
 reductions in Charm++.
 
 Note that the reduction will complete properly even if chare array elements are {\em migrated}
index 45915a50d7c673f6296f89d0b77dbc67dd757f0f..5c0ca68a15f365ffe31eb7acfe9794d05863ed4c 100644 (file)
@@ -149,7 +149,7 @@ As an alternative to ``send'', the callback can be used in a {\em
 finished.
 
 For examples of how to use the various callback types, please
-see \exampleref{tests/charm++/megatest/callback.C}
+see \testreffile{megatest/callback.C}
 
 \section{Synchronous Execution with CkCallbackResumeThread}
 
index 1e98d18ea33823257459b54521f904d9b8aa08c7..0d5446307db68a5b46666f2969f7dca149567e54 100644 (file)
@@ -128,7 +128,7 @@ processor and return a proxy to that chare:}
 \end{enumerate}
 
 For an example of chare creation in a full application, see
-\exampleref{examples/charm++/fib} in the \charmpp software distribution, which
+\examplerefdir{fib} in the \charmpp software distribution, which
 calculates fibonacci numbers in parallel.
 
 \subsection{Method Invocation on Chares}
index 8d50deb53863735972567825b74cbda6fa3c37bd..dc0a442947a354e6a5c7aa65e1e4c23304b5c17f 100644 (file)
@@ -34,7 +34,7 @@ information has to be kept, either the CProxy or the ComlibInstanceHandle, and
 this can be done in readonly variables, or as internal variables of the objects.
 
 An example on how to use commlib can be found in the charm distribution, under
-\exampleref{examples/charm++/commlib/multicast/}, where the proxies are associated in the
+\examplerefdir{commlib/multicast}, where the proxies are associated in the
 chare arrays.
 
 
@@ -452,7 +452,7 @@ sequence the destinations of the multicast to minimize contention on a network.
 
 In order to use these strategies, the message sent must inherit from class
 {\textrm{CkMcastBaseMsg}}. (For an example see
-\exampleref{examples/charm++/commlib/multicast/}).
+\examplerefdir{commlib/multicast}).
 
 These are the subclass strategies that are available:
 
index 67eb072d218b770669d081d93c3dc10ed3e3a353..be5cb39af3a7e29b338e8d87fab76df2408d04dc 100644 (file)
@@ -171,7 +171,7 @@ can send a single message to the main chare.  This reduces the number of message
 sent to the mainchare from the number of chares created to the number of processors. 
 
 For a more concrete example on how to use groups, please refer to
-\exampleref{examples/charm++/histogram\_group}. It presents a parallel
+\examplerefdir{histogram\_group}. It presents a parallel
 histogramming operation in which chare array elements funnel their bin counts
 through a group, instead of contributing directly to a reduction across all
 chares.
index 3fc4a9502642894adc2e640f5ec8c844b04406ec..3f96bb32e1b487515f82a03cd343bab9713dc8c3 100644 (file)
@@ -35,8 +35,8 @@ baseline load balancing is provided by migration strategies, but in each
 iteration one also spawns off work in the form of chares that can run on any
 processor. The seed balancer will handle such work as it arises.
 
-Examples are in \exampleref{examples/charm++/load\_balancing} and
-\exampleref{tests/charm++/load\_balancing}
+Examples are in \examplerefdir{load\_balancing} and
+\testrefdir{load\_balancing}
 
 \section{Measurement-based Object Migration Strategies}
 \label{lbFramework}
@@ -465,7 +465,7 @@ migrate it.
 %previous subsection perform the task of moving chares during work to achieve
 %load balance.
 Depending on the movement strategy, several seed load balancers are available now.
-Examples can be found \exampleref{examples/charm++/NQueen}.
+Examples can be found \examplerefdir{NQueen}.
 \begin{enumerate}
 \item {\em random}\\  
  A strategy that places seeds randomly when they are created and does
index 4028972b1e1aff456be266e1470df6b10d2d4e86..94d3032242722c517b2c8d0df73fde79d92bccbb 100644 (file)
@@ -208,5 +208,5 @@ latency-sensitive that they should never wait in line behind other
 messages. The \charmpp\ runtime offers two attributes for entry
 methods, {\kw expedited} and {\kw immediate}, to serve these
 needs. For more information on these attributes, see
-Section~\ref{attributes} and the example in {\tt
-  charm/pgms/charm++/megatest/immediatering.C}.
+Section~\ref{attributes} and the example in
+  \testreffile{megatest/immediatering.ci}.
index 19ef9f642c60bb67332d1ada98a9821c1ef2d76b..94f1069f27f6237a26f3e02b3c7fc33c8d96c50b 100644 (file)
@@ -82,7 +82,7 @@ The \verb.p|a;. syntax works wherever \verb.a. is:
     In this case, \verb.p|a;. calls the custom \verb.operator |..
 \end{itemize}
 
-See \exampleref{examples/charm++/PUP}
+See \examplerefdir{PUP}
 
 For container types, you must simply pup each element of the container.
 For arrays, you can use the utility method \kw{PUParray}, which takes
@@ -102,7 +102,7 @@ If the variable is from the C++ Standard Template Library, you can include
 operator\verb.|.'s for STL vector, map, list, pair, and string, templated
 on anything, by including the header ``pup\_stl.h''.
 
-See \exampleref{examples/charm++/PUP/STLPUP}
+See \examplerefdir{PUP/STLPUP}
 
 \subsection{PUP Dynamic Data}
 As usual in \CC{}, pointers and allocatable objects usually require special handling. 
@@ -122,7 +122,7 @@ operator\verb.|. might look like:
   \}
 \end{alltt}
 
-See \exampleref{examples/charm++/PUP/HeapPUP}
+See \examplerefdir{PUP/HeapPUP}
 
 \subsection{PUP as bytes}
 
@@ -341,5 +341,5 @@ because messages are an efficient, low-level construct that minimizes copying
 and overhead; but very complicated structures are often most easily passed via 
 marshalling, because marshalling uses the high-level pup framework.
 
-See \exampleref{examples/charm++/PUP/HeapPUP}
+See \examplerefdir{PUP/HeapPUP}
 
index a2e5a0e212b02ebde8ae436e55bc79ee158bdb77..0c9d6d93442b5700cb49965bfc825efbba1c021b 100644 (file)
@@ -62,5 +62,5 @@ assignments occur in the program outside of the mainchare constructor.
 
 For concrete examples for using read-only variables, please refer to Travelling
 Salesman Problem (TSP) in
-\exampleref{examples/state\_space\_searchengine/TSP\_SE}, and GaussSeidel
-elimination in \exampleref{examples/charm++/gaussSeidel3D}.
+\examplerefdir{state\_space\_searchengine/TSP\_SE}, and GaussSeidel
+elimination in \examplerefdir{gaussSeidel3D}.
index 67a404306ba29a2b8351b5a153021b2f20af6e4a..25cd000c39c4dd3cee333dac9282217c0650f26b 100644 (file)
@@ -65,7 +65,7 @@ void myReductionEntry(CkReductionMsg *msg)
 \}
 \end{alltt}
 
-(See \kw{pgms/charm++/RedExample} for a complete example).
+(See \examplerefdir{RedExample} for a complete example).
 
 For backward compatibility, in the place of a general callback, you can
 specify a particular kind of C function using \kw{ckSetReductionClient}
index e83ced04f32fcae938e873fc53d80336536e70e7..c1476e64d797fc5c351dcdcbffa96700643ff6a1 100644 (file)
@@ -246,7 +246,7 @@ number in square brackets between the entry method name and its parameter list.
 That expression will be compared for equality with the entry method's first
 argument, or with the reference number field of an explicit message
 (\S~\ref{messages}). Matching is used in the loop example below, and in
-\exampleref{examples/charm++/jacobi2d-sdag/jacobi2d.ci}. Multiple {\tt when} triggers for
+\examplereffile{jacobi2d-sdag/jacobi2d.ci}. Multiple {\tt when} triggers for
 an entry method with different matching reference numbers will not conflict - each
 will receive only corresponding messages.
 
@@ -411,8 +411,7 @@ forall [IDENT] (MIN:MAX,STRIDE) BODY
 \end{center}
 The range from MIN to MAX is inclusive. Its use is demonstrated through
 distributed parallel matrix-matrix multiply shown in
-\exampleref{examples/charm++/matmul/matmul.ci}.
-
+\examplereffile{matmul/matmul.ci}
 
 \section{Usage Notes}
 
@@ -622,6 +621,6 @@ SDAG constructs of the following kinds:
 
 \sdag{} code can be inserted into the .ci file for any array, group, or chare's entry methods.
 
-For more details regarding \sdag{}, look at \exampleref{examples/charm++/hello/sdag}
+For more details regarding \sdag{}, look at \examplerefdir{hello/sdag}
 }
 
index ea33cd1ac61e2097758dfd2e5eae83bce72f165a..55fa5629bd9ae582086beb25f32e6ea52bd8105c 100644 (file)
@@ -15,4 +15,4 @@ operations or explicitly suspend themselves, which is necessary to use some
 For details on the threads API available to threaded entry methods, see chapter
 3 of the Converse programming manual. The use of threaded entry methods is
 demonstrated in an example program located in
-\exampleref{examples/charm++/threaded\_ring}.
+\examplerefdir{threaded\_ring}.
index f918efa1025177061eb0b33fe7861bfeada888b0..52d0d10f88f4357df536d6c7a122db6dc99b7922 100644 (file)
 % to I (and again conflict with part 1).
 \renewcommand{\thepart}{\Roman{part}}
 
-\newcommand{\exampleref}[1]{{\tt #1}}
+\newcommand{\gitweb}[2]{http://charm.cs.illinois.edu/cgi-bin/gitweb2.cgi?p=charm.git;hb=HEAD;a=#1;f=#2}
+
+\newcommand{\gitwebref}[3]{\href{\gitweb{#1}{#2/charm\%2B\%2B/#3}}{\tt #2/charm++/#3}}
+\newcommand{\examplereffile}[1]{\gitwebref{blob}{examples}{#1}}
+\newcommand{\examplerefdir}[1]{\gitwebref{tree}{examples}{#1}}
+\newcommand{\testreffile}[1]{\gitwebref{blob}{tests}{#1}}
+\newcommand{\testrefdir}[1]{\gitwebref{tree}{tests}{#1}}
 
 \makeindex