Next: Menu bar, Previous: The coNCePTuaL GUI, Up: The coNCePTuaL GUI [Contents][Index]
Components are graphical representations of coNCePTuaL objects and operations used by the coNCePTuaL GUI to specify programs. Components are added to the program panel by clicking on their corresponding buttons in the command bar. To select a component in the program panel, simply left-click on it. If the component has parameters that can be edited, a dialog will appear in the dialog panel. Multiple components can be selected by dragging the mouse over target components or holding down Ctrl as you left-click on several components.
The coNCePTuaL GUI lets a user manipulate the following components:
Tasks represent operational units in coNCePTuaL programs and are analogous to a process or thread in a parallel program. For example, a coNCePTuaL operation like point-to-point communication has a source task that specifies how the message is sent and a target task that specifies how the message is received. Tasks are displayed graphically as numbered circles in the coNCePTuaL GUI. A task row represents the total number of tasks available for operations at each step of a coNCePTuaL program. See Task descriptions, for information on how to specify subsets of a program’s tasks.
Messages between tasks are displayed as directed edges (arrows)
from source task to target task in the
coNCePTuaL GUI. Messages are added to the program panel via the
command bar or by dragging the mouse from a source task to a target
task. Communication messages in the
coNCePTuaL GUI correspond to the SEND
and RECEIVE
statements in the
coNCePTuaL language (see Sending, and Receiving).
Messages that are sent/received asynchronously must eventually
be waited on. Awaits message completion is displayed as a solid
line under the associated tasks in the
coNCePTuaL GUI. Awaiting completion in the
coNCePTuaL GUI correspond to the AWAIT COMPLETION
statement in the coNCePTuaL language (see Awaiting
completion).
One can add a loop around selected components to repeat the
corresponding coNCePTuaL operations. Loops in the
coNCePTuaL GUI correspond to the FOR
statement in the coNCePTuaL
language (see Iterating).
One can log timing or other measurements of coNCePTuaL
operations by placing them in a measurement block. Measurement
blocks in the coNCePTuaL GUI correspond to the
LOGS
statement in the coNCePTuaL language (see Writing to a log
file).
Artificial computation (really a spin loop) and sleeping, both
of which delay the program for a given length of time, can be
performed on a set of tasks. Computation is shown with
‘cmp’ under a task in the
coNCePTuaL GUI, and sleeping is shown with ‘slp’.
Computation/sleeping in the coNCePTuaL GUI corresponds to the
COMPUTE
and SLEEP
statements in the coNCePTuaL
language (see Delaying
execution).
A multicast operation sends a message from a source task to
multiple target tasks. Multicasting in the
coNCePTuaL GUI corresponds to the MULTICAST
statement in the
coNCePTuaL language (see Multicasting).
A reduction operation combines messages from multiple source
tasks to a single target task. Reduction in the
coNCePTuaL GUI corresponds to the REDUCE
statement in the coNCePTuaL
language (see Reducing).
Barrier synchronization forces a set of tasks to wait until each
task in the set reaches the synchronization point before any task
in the set proceeds past the synchronization point. Synchronization
is displayed as a dotted line under the associated tasks in the
coNCePTuaL GUI. Synchronization in the
coNCePTuaL GUI corresponds to the SYNCHRONIZE
statement in the
coNCePTuaL language (see Synchronizing).
Next: Menu bar, Previous: The coNCePTuaL GUI, Up: The coNCePTuaL GUI [Contents][Index]