10.4 Data_Index Class

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 implemented
where 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.



Subsections
Michael L. Hall