The Data_Index Class is used to describe a data index in the CÆSAR Code Package. A Data_Index is part of the overall data structure strategy in CÆSAR, which is made up of the following classes: Base_Structure, Data_Index, Assembled_Vector, Distributed_Vector, Overlapped_Vector, and Collected_Array. A description of the overall data structure strategy can be found in the Data_Structures Module.
The form of a Data_Index object is given by:
Array ( One_Axis [, Many_Axis] )or
Array ( One_Axis [, Many_Axis_ragged_right] ) --> not implementedwhere One_Axis refers to the axis which is spread across the processors.
Data_Index public procedures:
Fundamental procedures | |||
Initialize | Initializes a Data_Index object. | ||
Finalize | Finalizes a Data_Index object. | ||
Valid_State | Returns false iff a Data_Index object is in an invalid state. | ||
Initialized | Returns true iff a Data_Index object has been initialized. | ||
Operations | |||
Get_Values | Gets the values from a Data_Index object and returns them in a bare naked vector (also has an assignment interface). | ||
Initialize_Shell_Partition | Sets up the Base_Structure and Data_Index objects for a poor partitioning, used for testing. | ||
Output | Writes out the Data_Index object. |
Data_Index public defined type:
Data_Index type | |||
Dimensionality | The number of dimensions that the index has. ``Ragged_Right'' indices are signified by a Dimensionality of -1, and are equivalent to a Dimensionality of 2 where the number of columns per row varies. (Ragged_Right is not yet implemented.) | ||
Index1, Index2 | The index values, which are modified: 1. to reflect off-PE locations with a negative number corresponding to the location in Off_PE_Index of the original value; and 2. to have a local numbering instead of a global numbering. | ||
Initialized | Initialization status. | ||
Many_Structure | Basic data structure corresponding to the columns in the index array. The index array can be thought of as a ``Many of One'' relationship (e.g. Many Faces of Each Cell, or Faces_of_Cells), with each row of the array signifying all the ``Many'' items that correspond to that ``One'' row. | ||
NOff_PE | The number of Off-PE values. | ||
Off_PE_Index | The values of the index which are not local to this PE. | ||
Off_PE_Trace | The trace for the communication associated with the Off_PE_Index. | ||
One_Structure | Basic data structure corresponding to the rows in the index array. The index array can be thought of as a ``Many of One'' relationship (e.g. Many Faces of Each Cell, or Faces_of_Cells), with each row of the array signifying all the ``Many'' items that correspond to that ``One'' row. | ||
Trace | The trace for the communication associated with the index. |
The Data_Index Class code listing contains additional documentation. The Data_Index Class also contains a Unit Test Program.