Next: , Previous: , Up: The coNCePTuaL GUI   [Contents][Index]


3.1.1 Components

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:

task/task row

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.

communication message

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).

awaiting completion

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).

loop

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).

measurement block

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).

computation/sleeping

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).

multicasting

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).

reduction

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).

synchronization

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: , Previous: , Up: The coNCePTuaL GUI   [Contents][Index]

Scott Pakin, pakin@lanl.gov