|
Jpetra Development
|


Public Member Functions | |
| DistObject () | |
| void | importValues (DistObject distObjectSource, Import importer, int combineMode) |
| void | importValues (DistObject distObjectSource, Export exporter, int combineMode) |
| void | exportValues (DistObject distObjectSource, Import importer, int combineMode) |
| void | exportValues (DistObject distObjectSource, Export exporter, int combineMode) |
| void | doTransfer (DistObject distObjectSource, int numSameGids, int[] permuteToLids, int[] permuteFromLids, int[] exportGids, int[] exportLids, int combineMode, boolean doReverse) |
| abstract Serializable[] | packAndPrepare (DistObject distObjectSource, int[] exportGids, int[] exportLids) |
| abstract int[][] | unpackAndCombine (Serializable[] importData, int combineMode) |
| abstract void | copyAndPermute (DistObject distObjectSource, int numSameGids, int[] permuteToLids, int[] permuteFromLids, int combineMode) |
| abstract VectorSpace | getVectorSpace () |
| void | setFlopCounter (FlopCounter flops) |
| void | updateFlops (double numFlops) |
| void | resetFlops () |
| double | getFlops () |
| double | getGlobalMegaFlops (Comm comm) |
| FlopCounter | getFlopCounter () |
Static Public Attributes | |
| static final int | ADD = 0 |
| static final int | ZERO = 1 |
| static final int | AVERAGE = 2 |
| static final int | ABSMAX = 3 |
| static final int | REPLACE = 4 |
Objects that extend DistObject can be constructed and distributed globally among the vnodes. DistObject presents a common interface to the user to use for all objects that can be distributed globally. Thus, some methods must be overriden by classes extending DistObject while others must not be overridden. DistObject also defines constants that correspond to the different avaliable combine modes.
| Jpetra::DistObject::DistObject | ( | ) | [inline] |
Does nothing.
| abstract void Jpetra::DistObject::copyAndPermute | ( | DistObject | distObjectSource, |
| int | numSameGids, | ||
| int[] | permuteToLids, | ||
| int[] | permuteFromLids, | ||
| int | combineMode | ||
| ) | [pure virtual] |
Should not be called directly by the user.
This method must be overridden by classes extending DistObject.
| distObjectSource | The object from which local values will be copied and permuted. |
| numSameGids | The number of global ids that are the same starting from myMinGlobalEntryId. |
| permuteToLids | The local IDs of this DistObject that will permute elements from distObjectSource according to the corresponding local IDs in permuteFromLids. |
| permuteFromLids | The local IDs from distObjectSource that will be permuted to the local IDs in permuteToLids correspndong to this DistObject. |
| combineMode | One of the declared combine mode constants in DistObject. |
Implemented in Jpetra::CisMatrix, Jpetra::MultiVector, and Jpetra::NullDistObject.
| void Jpetra::DistObject::doTransfer | ( | DistObject | distObjectSource, |
| int | numSameGids, | ||
| int[] | permuteToLids, | ||
| int[] | permuteFromLids, | ||
| int[] | exportGids, | ||
| int[] | exportLids, | ||
| int | combineMode, | ||
| boolean | doReverse | ||
| ) | [inline] |
Should not be called directly by the user.
Calls copyAndPermute, packAndPrepare, and unpackAndCombine which are all overridden by the calling child class. doTransfer also calls Distributor.distribute in order to send all exports to the corresponding vnodes and receive all imports from other vnodes. This method should not be overriden by classes extending DistObject.
| void Jpetra::DistObject::importValues | ( | DistObject | distObjectSource, |
| Import | importer, | ||
| int | combineMode | ||
| ) | [inline] |
Imports values from the source DistObject to this DistObject using the specified importer and combine mode. This method should not be overriden by classes extending DistObject.
| distObjectSource | The DistObject to import values from. |
| importer | The Import object built from the source VectorSpace and the target VectorSpace. |
| combineMode | One of the declared combine mode constants in DistObject. |
| abstract Serializable [] Jpetra::DistObject::packAndPrepare | ( | DistObject | distObjectSource, |
| int[] | exportGids, | ||
| int[] | exportLids | ||
| ) | [pure virtual] |
Should not be called directly by the user.
This method must be overridden by classes extending DistObject.
| distObjectSource | The object from which elements will be packedup for exportation to other vnodes. |
| exportGids | The global IDs of the elements to be exported. |
| exportLids | The local IDs of elements to be exported. |
Distributor.distribute will export to other vnodes. Implemented in Jpetra::CisMatrix, Jpetra::MultiVector, and Jpetra::NullDistObject.
| abstract int [][] Jpetra::DistObject::unpackAndCombine | ( | Serializable[] | importData, |
| int | combineMode | ||
| ) | [pure virtual] |
Should not be called directly by the user.
This method must be overridden by classes extending DistObject.
| importData | The data object returned from Distributor.distribute which contains all elements sent to this vnode. |
| combineMode | One of the declared combine mode constants in DistObject. |
Implemented in Jpetra::CisMatrix, Jpetra::MultiVector, and Jpetra::NullDistObject.
final int Jpetra::DistObject::ABSMAX = 3 [static] |
This combine mode replaces values with the maximum absolute value of either the imported value or the existing corresponding local value.
final int Jpetra::DistObject::ADD = 0 [static] |
This combine mode will cause all imported values to be added to existing values.
final int Jpetra::DistObject::AVERAGE = 2 [static] |
This combine mode will cause all imported values to be averaged with existing values.
final int Jpetra::DistObject::REPLACE = 4 [static] |
This combine mode replaces existing values with the imported ones.
final int Jpetra::DistObject::ZERO = 1 [static] |
This combine mode will only copy and permute local values.
1.7.4