Next: Data Type
Up: UsersGuideStable
Previous: Other makefile variables
Contents
Cactus Variables
A grid variable is a Cactus program variable passed among thorns,
(or routines belonging to the same thorn interface),
by way of calls to the flesh.
They are the only variables known to Cactus.
Such variables represent values of functions on the computational grid,
and are, therefore, often called grid functions.
In the Cactus context, grid variables are often referred
to simply as variables.
Cactus variables are used instead of local variables for a number of reasons:
- Cactus variables can be made visible to other thorns, allowing
thorns to communicate and share data.
- Cactus variables can be distributed and communicated
among processors, allowing parallel computation.
- A database of Cactus variables, and their attributes, is held by
the flesh, and this information is used by thorns, for example, for
obtaining a list of variables for checkpointing.
- Many Cactus APIs and tools can only be used with Cactus variables.
- Cactus provides features for error checking based on Cactus variables
and their attributes.
Cactus variables are collected into groups. All variables in a
group are of the same data type, and have the same attributes. Most Cactus
operations act on a group as a whole. A group must be declared in its
thorn's interface.ccl file.
The specification for a group declaration
(fully described in Appendix E2.2) is,
<data_type> <group_name> [TYPE=<group_type>] [DIM=<dim>] [TIMELEVELS=<num>]
[SIZE=<size in each direction>] [DISTRIB=<distribution_type>]
[GHOSTSIZE=<ghostsize>] [STAGGER=<stagger-specification>]
[{
[ <variable_name>[,]<variable_name>
<variable_name> ]
} ["<group_description>"] ]
Currently, the names of groups and variables must be distinct.
Subsections
Next: Data Type
Up: UsersGuideStable
Previous: Other makefile variables
Contents
|