inserting new section about Python scripting.
[charm.git] / doc / charm++ / entry.tex
index 48950fe8a924d53563aee7944571eaf24f6c210c..e4e4d487c0b3eceb0b1c0947d4049efc05b07d7c 100644 (file)
@@ -41,19 +41,20 @@ entry [\uw{attribute1}, ..., \uw{attributeN}] void \uw{EntryMethod}(\uw{paramete
 entry method:
 \kw{threaded}, \kw{sync}, \kw{exclusive}, \kw{nokeep}, \kw{notrace}, \kw{immediate}, \kw{expedited}.
 
-\index{threaded}Threaded \index{entry method}entry methods are simply entry
+\begin{description}
+\index{threaded}\item[Threaded] \index{entry method}entry methods are simply entry
 methods which are run in their own nonpremptible threads.  To make an
 \index{entry method}entry method threaded, one simply adds the keyword
 \kw{threaded} to the attribute list of that entry method.
 
-\index{sync}Sync \index{entry method}entry methods are special in that calls to
+\index{sync}\item[Sync] \index{entry method}entry methods are special in that calls to
 sync entry methods are blocking - they do not return control to the caller
 until the method is finished executing completely.  Sync methods may have
 return values; however, they may only return messages.  To make an \index{entry
 method}entry method a sync entry method, add the keyword \kw{sync} to the
 attribute list of that entry method.
 
-\index{exclusive}Exclusive entry methods, which exist only on node groups, are
+\index{exclusive}\item[Exclusive] entry methods, which exist only on node groups, are
 \index{entry method}entry methods that do not execute while other exclusive
 \index{entry method}entry methods of its node group are executing in the same
 node.  If one exclusive method of a node group is executing on node 0, and
@@ -62,35 +63,38 @@ will wait for the first to finish before it executes.  To make an \index{entry
 method}entry method exclusive, add the keyword \kw{exclusive} to that
 entry method's attribute list.
 
-\index{nokeep}{\bf Nokeep} entry methods tells Charm++ that messages passed to
+\index{nokeep}\item[Nokeep] entry methods tells Charm++ that messages passed to
 these user entry methods will not be kept by the calls. Charm++ runtime
 may be able to adopt optimization for reusing the message memory.
 
-\index{notrace}{\bf Notrace} entry methods simply tells Charm++ that calls to 
+\index{notrace}\item[Notrace] entry methods simply tells Charm++ that calls to 
 these entry methods should be not traced in trace projections or summary mode.
 
-\index{immediate}{\bf Immediate} entry methods are entry functions in which 
-short messages can be executed in an ``immediate'' fashion when they are 
-received either by an interrupt (Network version) or by a communication 
-thread (in SMP version). Such messages can be useful for 
-implementing multicasts/reductions as well as data lookup, in which case 
-processing of critical messages won't be delayed (in the scheduler queue) 
-by entry functions that could take long time to finish. 
-Immediate messages are only available for nodegroup entry methods.
-Immediate messages are implicitly ``exclusive'' on each node, that is 
-one execution of immediate message will not be interrupted by another.
-Function \kw{CmiProbeImmediateMsg()} can be called in users code to 
+\index{immediate}\item[Immediate] entry methods are entry functions in which 
+short messages can be executed in an ``immediate'' fashion when they are
+received either by an interrupt (Network version) or by a communication thread
+(in SMP version). Such messages can be useful for implementing
+multicasts/reductions as well as data lookup, in which case processing of
+critical messages won't be delayed (in the scheduler queue) by entry functions
+that could take long time to finish. Immediate messages are only available for
+nodegroup entry methods. Immediate messages are implicitly ``exclusive'' on each
+node, that is one execution of immediate message will not be interrupted by
+another. Function \kw{CmiProbeImmediateMsg()} can be called in users code to
 probe and process immediate messages periodically.
 
-\index{expedited}{\bf Expedited} entry methods are entry functions 
-that skip Charm++'s priority-based message queue. It is useful for messages 
-that require prompt processing however in the situation when immediate message 
-does not apply. Compared with immediate message, it provides a more general
-solution that works for all Charm++ objects, i.e. Chare, Group, NodeGroup 
-and Chare Array. However, skipscheduler message still needs to be 
-scheduled in low level Converse message queue and be processed in the order 
-of arrival. It may still suffer from long running entry methods.
-
+\index{expedited}\item[Expedited] entry methods are entry functions 
+that skip Charm++'s priority-based message queue. It is useful for messages that
+require prompt processing however in the situation when immediate message does
+not apply. Compared with immediate message, it provides a more general solution
+that works for all Charm++ objects, i.e. Chare, Group, NodeGroup and Chare
+Array. However, skipscheduler message still needs to be scheduled in low level
+Converse message queue and be processed in the order of arrival. It may still
+suffer from long running entry methods.
 
 
+\index{python}\item[Python] entry methods are methods which are enabled to be
+called from python scripts running as explained in section~\ref{python}. In
+order to work, the object owning the method must also be declared with the
+keywork \kw{python}.
 
+\end{description}