1 \section{Other PPL Tools, Libraries and Applications
}
3 \subsubsection{What is Structured Dagger?
}
5 {\em Structured Dagger
} is a structured notation for specifying intra-process
6 control dependencies in message-driven programs. It combines the efficiency
7 of message-driven execution with the explicitness of control specification.
8 Structured Dagger allows easy expression of dependencies among messages
9 and computations and also among computations within the same object using
11 and various structured constructs. See the Charm++ manual for the details.
13 \subsubsection{What are the performance problems with AMPI packing and unpacking?
}
15 There is an extra copy involved, because the AMPI message is reusable
16 immediately after the AMPI call returns. Since Charm++ messages are to
17 be handed over to the system, there is an extra copy involved (plus creation
18 of a Charm++ message) while sending.
21 %<b>Why does AMPI now derive from </b><tt>ArrayElement1D</tt><b> rather
22 %than </b><tt>TempoArray</tt><b>?</b></li>
24 %<br>Deriving it from <tt>TempoArray</tt> was causing some inefficiencies
25 %because of the introduction of derived data types. Basically, it was causing
26 %multiple copies. Also, I felt that some more optimizations, especially
27 %with collective operations can be done this way, so I have changed AMPI
28 %to be a standalone Charm++ library, rather than being dependent on Tempo.
30 \subsubsection{Is
{\tt TempoArray::ckTempoSendElem()
} the only way for non-AMPI
31 code to communicate with running AMPI code?
}
33 <br>A static method <tt>sendraw</tt> is added to the AMPI class, that allows
34 you to send a message to AMPI threads from outside AMPI. So, instead of
35 using the <tt>TempoArray</tt> method, you can use:
36 <tt>ampi::sendraw(tag1,tag2,msg,len,arrayid,index);</tt>
38 \subsubsection{What is Charisma?
}
40 Charisma++ is a prototype language for describing global view of control in a parallel program. It is designed to solve the problem of obscured control flow in the object-based model with Charm++.
42 \subsubsection{Does Projections use wall time or CPU time?
}