Moved the functions from the node topology part to the basic utilities functions
authorChao Mei <chaomei2@illinois.edu>
Thu, 2 Aug 2012 23:38:46 +0000 (18:38 -0500)
committerChao Mei <chaomei2@illinois.edu>
Thu, 2 Aug 2012 23:38:46 +0000 (18:38 -0500)
as they are for the logical charm++ machine model, not for the physical machine.

doc/charm++/machineModel.tex
doc/charm++/topology.tex
doc/charm++/utilities.tex

index 2dcc822cc39c310370893623ea76b3daf5503338..b7e129039303af1366a933d4ca4e237f1741717a 100644 (file)
@@ -1,4 +1,5 @@
 \section{Machine Model}
+\label{machineModel}
 At its basic level, \charmpp{} machine model is very simple: Think of
 each chare as a separate processor by itself. The methods of each
 chare can access its own instance variables (which are all private, at
index b267cd8a1f18e82411085f037bfb362d87b8b9d7..4617c71db82ca4986dd3b63c7d180ddfca0001e3 100644 (file)
@@ -1,6 +1,5 @@
 \section{Network Topology}
 \section{Node Topology}
-chao to write this section.
 
 The following calls provide information about the machines upon which the
 parallel program is executing.  Processing Element refers to a single CPU.
@@ -8,30 +7,9 @@ Node refers to a single machine-- a set of processing elements which share
 memory (i.e. an address space).  Processing Elements and Nodes are numbered,
 starting from zero.
 
-Thus if a parallel program is executing on one 4-processor workstation and one
-2-processor workstation, there would be 6 processing elements (0, 1 ,2, 3, 4,
-and 5) but only 2 nodes (0 and 1).  A given node's processing elements are
-numbered sequentially.
+%Thus if a parallel program is executing on one 4-processor workstation and one
+%2-processor workstation, there would be 6 processing elements (0, 1 ,2, 3, 4,
+%and 5) but only 2 nodes (0 and 1).  A given node's processing elements are
+%numbered sequentially.
 
-\function{int CkMyRank()} \index{CkMyRank}
-\desc{returns the rank number of the processor on which the call was made.
-Processing elements within a node are ranked starting from zero.}
-
-\function{int CkMyNode()} \index{CkMyNode}
-\desc{returns the address space number (node number) on which the call was made.}
-
-\function{int CkNumNodes()} \index{CkMyNodes}
-\desc{returns the total number of address spaces.}
-
-\function{int CkNodeFirst(int node)} \index{CkNodeFirst}
-\desc{returns the processor number of the first processor in this address space.}
-
-\function{int CkNodeSize(int node)} \index{CkNodeSize}
-\desc{returns the number of processors in the address space on which the call was made.}
-
-\function{int CkNodeOf(int pe)} \index{CkNodeOf}
-\desc{returns the node number on which the call was made.}
-
-\function{int CkRankOf(int pe)} \index{CkRankOf}
-\desc{returns the rank of the given processor within its node.}
 
index e0ff830852cc4e8e7af675241674371d8c98cc59..21ad8817337657344c5053c41b00ad02045b68c5 100644 (file)
@@ -4,13 +4,7 @@
 
 The following calls provide basic rank information and utilities
 useful when running a Charm++ program. Other utilities are listed in
-Section~\ref{other Charm++ calls}.
-
-\function{int CkNumPes()} \index{CkNumPes} \desc{returns the total
-  number of processing elements (PEs), across all nodes.}
-
-\function{int CkMyPe()} \index{CkMyPe} \desc{returns the index of the
-  PE on which the call was made.}
+Section~\ref{other Charm++ calls}. 
 
 \function{void CkAssert(int expression)} \desc{Aborts the program 
 if expression is 0.}
@@ -30,6 +24,41 @@ if expression is 0.}
 \function{double CkWallTimer()} \index{CkWallTimer} \index{timers}
 \desc{Returns the elapsed time in seconds since the start of the program.}
 
+\subsection{Information about Logical Machine Entities}
+As described in section~\ref{machineModel}, \charmpp{} recoginizes two
+logical machine entities: ``node'' and PE (processing element). 
+The following functions provide basic information about such logical machine 
+that a \charmpp{} program runs on. PE and ``node'' are numbered starting
+from zero.
+
+\function{int CkNumPes()} \index{CkNumPes} \desc{returns the total
+  number of PEs across all nodes.}
+
+\function{int CkMyPe()} \index{CkMyPe} \desc{returns the index of the
+  PE on which the call was made.}
+
+\function{int CkNumNodes()} \index{CkMyNodes}
+\desc{returns the total number of logical \charmpp{} nodes.}
+
+\function{int CkMyNode()} \index{CkMyNode}
+\desc{returns the index of the ``node'' on which the call was made.}
+
+\function{int CkMyRank()} \index{CkMyRank}
+\desc{returns the rank number of the PE on a ``node'' on which the call 
+was made. PEs within a ``node'' are also ranked starting from zero.}
+
+\function{int CkNodeFirst(int nd)} \index{CkNodeFirst}
+\desc{returns the index of the first PE on the logical node $nd$.}
+
+\function{int CkNodeSize(int nd)} \index{CkNodeSize}
+\desc{returns the number of PEs on the logical node $nd$ on which the call was made.}
+
+\function{int CkNodeOf(int pe)} \index{CkNodeOf}
+\desc{returns the ``node'' number that PE $pe$ belongs to.}
+
+\function{int CkRankOf(int pe)} \index{CkRankOf}
+\desc{returns the rank of the given PE within its node.}
+
 \subsection{Terminal I/O}
 
 \index{input/output}