Next:
8 Sending and Receiving
Up:
mct_APIs
Previous:
7 The Global Map
Contents
2
High Level API's
Subsections
8
Sending and Receiving Attribute Vectors
8
.
1
Module m_Transfer - Routines for the MxN transfer of Attribute Vectors (Source File: m_Transfer.F90)
8
.
1
.
1
isend_ - Distributed non-blocking send of an Attribute Vector
8
.
1
.
2
waitsend_ - Wait for a distributed non-blocking send to complete
8
.
1
.
3
send_ - Distributed blocking send of an Attribute Vector
8
.
1
.
4
irecv_ - Distributed receive of an Attribute Vector
8
.
1
.
5
waitrecv_ - Wait for a distributed non-blocking recv to complete
8
.
1
.
6
recv_ - Distributed receive of an Attribute Vector
9
Rearranging Attribute Vectors
9
.
1
Module m_Rearranger - Remaps an AttrVect within a group of processes (Source File: m_Rearranger.F90)
9
.
1
.
1
Init_ - Initialize a Rearranger
9
.
1
.
2
clean_ - Clean a Rearranger
9
.
1
.
3
rearrange_ - Rearrange data between two Attribute Vectors
9
.
1
.
4
print_ - Print rearranger communication info
10
Sprase Matrix Support
10
.
1
Module m_SparseMatrix - Sparse Matrix Object (Source File: m_SparseMatrix.F90)
10
.
1
.
1
init_ - Initialize an Empty SparseMatrix
10
.
1
.
2
vecinit_ - Initialize vector parts of a SparseMatrix
10
.
1
.
3
clean_ - Destroy a SparseMatrix.
10
.
1
.
4
lsize_ - Local Number Non-zero Elements
10
.
1
.
5
GlobalNumElements_ - Global Number of Non-zero Elements
10
.
1
.
6
indexIA_ - Index an Integer Attribute
10
.
1
.
7
indexRA_ - Index a Real Attribute
10
.
1
.
8
nRows_ - Return the Number of Rows
10
.
1
.
9
nCols_ - Return the Number of Columns
10
.
1
.
10
exportGlobalRowIndices_ - Return Global Row Indices
10
.
1
.
11
exportGlobalColumnIndices_ - Return Global Column Indices
10
.
1
.
12
exportLocalRowIndices_ - Return Local Row Indices
10
.
1
.
13
exportLocalColumnIndices_ - Return Local Column Indices
10
.
1
.
14
exportMatrixElementsSP_ - Return Matrix Elements as Array
10
.
1
.
15
importGlobalRowIndices_ - Set Global Row Indices of Elements
10
.
1
.
16
importGlobalColumnIndices_ - Set Global Column Indices of Elements
10
.
1
.
17
importLocalRowIndices_ - Set Local Row Indices of Elements
10
.
1
.
18
importLocalColumnIndices_ - Set Local Column Indices of Elements
10
.
1
.
19
importMatrixElementsSP_ - Import Non-zero Matrix Elements
10
.
1
.
20
Copy_ - Create a Copy of an Input SparseMatrix
10
.
1
.
21
local_row_range_ - Local Row Extent of Non-zero Elements
10
.
1
.
22
global_row_range_ - Global Row Extent of Non-zero Elements
10
.
1
.
23
local_col_range_ - Local Column Extent of Non-zero Elements
10
.
1
.
24
global_col_range_ - Global Column Extent of Non-zero Elements
10
.
1
.
25
ComputeSparsitySP_ - Compute Matrix Sparsity
10
.
1
.
26
CheckBounds_ - Check for Out-of-Bounds Row/Column Values
10
.
1
.
27
row_sumSP_ - Sum Elements in Each Row
10
.
1
.
28
row_sum_checkSP_ - Check Row Sums vs. Valid Values
10
.
1
.
29
Sort_ - Generate Index Permutation
10
.
1
.
30
Permute_ - Permute Matrix Elements using Supplied Index Permutation
10
.
1
.
31
SortPermute_ - Sort and Permute Matrix Elements
10
.
2
Module m_SparseMatrixComms - sparse matrix communications methods. (Source File: m_SparseMatrixComms.F90)
10
.
2
.
1
ScatterByColumnGSMap_ - Column-based scatter for SparseMatrix.
10
.
2
.
2
ScatterByRowGSMap_ -Row-based scatter for SparseMatrix.
10
.
2
.
3
GM_gather_ - Gather a distributed SparseMatrix to the root.
10
.
2
.
4
GSM_gather_ - Gather a distributed SparseMatrix to the root.
10
.
2
.
5
Bcast_ - Broadcast a SparseMatrix.
10
.
3
Module m_SparseMatrixDecomp - Parallel sparse matrix decomposition. (Source File: m_SparseMatrixDecomp.F90)
10
.
3
.
1
ByColumnGSMap_ - Generate Row-based GlobalSegMap for SparseMatrix
10
.
3
.
2
ByRowGSMap_ - Generate Row-based GlobalSegMap for SparseMatrix
10
.
3
.
3
ComputeSegments_ - Create segments from list data.
10
.
4
Module m_SparseMatrixToMaps - Maps from the Sparse Matrix (Source File: m_SparseMatrixToMaps.F90)
10
.
4
.
1
SparseMatrixToXGlobalSegMap_ - Generate X GlobalSegmap.
10
.
4
.
2
SparseMatrixToYGlobalSegMap_ - Generate Y GlobalSegmap.
10
.
4
.
3
CreateSegments_ - Generate segment information.
10
.
5
Module m_SparseMatrixPlus - Class Parallel for Matrix-Vector Multiplication (Source File: m_SparseMatrixPlus.F90)
10
.
5
.
1
initFromRoot_ - Creation and Initializtion from the Root
10
.
5
.
2
initDistributed_ - Distributed Creation and Initializtion
10
.
5
.
3
vecinit_ - Initialize vector parts of a SparseMatrixPlus
10
.
5
.
4
clean_ - Destruction of a SparseMatrixPlus Object
10
.
5
.
5
initialized_ - Confirmation of Initialization
10
.
5
.
6
exportStrategyToChar - Return Parallelization Strategy
11
Matrix Vector Multiplication
11
.
1
Module m_MatAttrVectMul - Sparse Matrix AttrVect Multipication. (Source File: m_MatAttrVectMul.F90)
11
.
1
.
1
sMatAvMult_DataLocal - Purely local matrix-vector multiply
11
.
1
.
2
sMatAvMult_SMPlus_ - Parallel Multiply Using SparseMatrixPlus
12
Spatial Integration and Averaging
12
.
1
Module m_SpatialIntegral - Spatial Integrals and Averages using a GeneralGrid (Source File: m_SpatialIntegral.F90)
12
.
1
.
1
SpatialIntegralRAttrGG_ - Compute spatial integral.
12
.
1
.
2
SpatialAverageRAttrGG_ - Compute spatial average.
12
.
1
.
3
MaskedSpatialIntegralRAttrGG_ - Masked spatial integral.
12
.
1
.
4
MaskedSpatialAverageRAttrGG_ - Masked spatial average.
12
.
1
.
5
PairedSpatialIntegralRAttrGG_ - Do two spatial integrals at once.
12
.
1
.
6
PairedSpatialAverageRAttrGG_ - Do two spatial averages at once.
12
.
1
.
7
PairedMaskedIntegralRAttrGG_ - Do two masked integrals at once.
12
.
1
.
8
PairedMaskedAverageRAttrGG_ - Do two masked averages at once.
12
.
2
Module m_SpatialIntegralV - Spatial Integrals and Averages using vectors of weights (Source File: m_SpatialIntegralV.F90)
12
.
2
.
1
SpatialIntegralRAttrVSP_ - Compute spatial integral.
12
.
2
.
2
SpatialAverageRAttrVSP_ - Compute spatial average.
12
.
2
.
3
MaskedSpatialIntegralRAttrVSP_ - Masked spatial integral.
12
.
2
.
4
MaskedSpatialAverageRAttrVSP_ - Masked spatial average.
12
.
2
.
5
PairedSpatialIntegralRAttrVSP_ - Do two spatial integrals at once.
12
.
2
.
6
PairedSpatialAverageRAttrVSP_ - Do two spatial averages at once.
13
Merging of Flux and State Data from Multiple Sources
13
.
1
Module m_Merge - Merge flux and state data from multiple sources. (Source File: m_Merge.F90)
13
.
1
.
1
MergeTwoGGSP_ - Merge Data from Two Sources
13
.
1
.
2
MergeThreeGGSP_ - Merge Data from Three Sources
13
.
1
.
3
MergeFourGGSP_ - Merge Data from Four Sources
13
.
1
.
4
MergeInDataGGSP_ - Add Data into a Merge
14
Time Averaging
14
.
1
Module m_Accumulator - Time Averaging/Accumlation Buffer (Source File: m_Accumulator.F90)
14
.
1
.
1
init_ - Initialize an Accumulator and its Registers
14
.
1
.
2
inits_ - Initialize a simple Accumulator and its Registers
14
.
1
.
3
initp_ - Initialize an Accumulator but not its Registers
14
.
1
.
4
initv_ - Initialize One Accumulator using Another
14
.
1
.
5
initavs_ - Initialize a simple Accumulator from an AttributeVector
14
.
1
.
6
clean_ - Destroy an Accumulator
14
.
1
.
7
initialized_ - Check if an Accumulator is Initialized
14
.
1
.
8
lsize_ - Length of an Accumulator
14
.
1
.
9
NumSteps_ - Number of Accumulation Cycle Time Steps
14
.
1
.
10
StepsDone_ - Number of Completed Steps in the Current Cycle
14
.
1
.
11
nIAttr_ - Return the Number of INTEGER Attributes
14
.
1
.
12
nRAttr_ - number of REAL fields stored in the Accumulator.
14
.
1
.
13
getIList_ - Retrieve a Numbered INTEGER Attribute Name
14
.
1
.
14
getRList_ - Retrieve a Numbered REAL Attribute Name
14
.
1
.
15
indexIA_ - Index an INTEGER Attribute
14
.
1
.
16
indexRA_ - index the Accumulator real attribute list.
14
.
1
.
17
exportIAttr_ - Export INTEGER Attribute to a Vector
14
.
1
.
18
exportRAttrSP_ - Export REAL Attribute to a Vector
14
.
1
.
19
importIAttr_ - Import INTEGER Attribute from a Vector
14
.
1
.
20
importRAttrSP_ - Import REAL Attribute from a Vector
14
.
1
.
21
zero_ - Zero an Accumulator
14
.
1
.
22
aCaCSharedAttrIndexList_ - Cross-index Two Accumulators
14
.
1
.
23
aVaCSharedAttrIndexList_ - Cross-index with an AttrVect
14
.
1
.
24
accumulate_-Acumulate from an AttrVect to an Accumulator.
14
.
1
.
25
average_ - Force an average to be taken on an Accumulator
14
.
2
Module m_AccumulatorComms - MPI Communication Methods for the Accumulator (Source File: m_AccumulatorComms.F90)
14
.
2
.
1
GM_gather_ - Gather Accumulator Distributed by a GlobalMap
14
.
2
.
2
GSM_gather_ - Gather Accumulator Distributed by a GlobalSegMap
14
.
2
.
3
GM_scatter_ - Scatter an Accumulator using a GlobalMap
14
.
2
.
4
GSM_scatter_ - Scatter an Accumulator using a GlobalSegMap
14
.
2
.
5
bcast_ - Broadcast an Accumulator
14
.
2
.
6
bcastp_ - Broadcast an Accumulator (but Not its Registers)
15
Global To Local Index Translation
15
.
1
Module m_GlobalToLocal - Global to Local Index Translation (Source File: m_GlobalToLocal.F90)
15
.
1
.
1
GlobalSegMapToIndices_ - Return _local_ indices in arrays.
15
.
1
.
2
GlobalSegMapToIndex_ - Global to Local Index Translation
15
.
1
.
3
GlobalSegMapToIndexArr_ - Global to Local Index Array Translation
15
.
1
.
4
GlobalMapToIndex_ - Global to Local Index Translation
15
.
1
.
5
GlobalSegMapToNavigator_ - Return Navigator to Local Segments
15
.
1
.
6
GlobalSegMapToLocalMatrix_ - Set Local SparseMatrix Indices
16
Convert From Global Map To Global Segment Map
16
.
1
Module m_ConvertMaps - Conversion Between MCT Domain Decomposition Descriptors (Source File: m_ConvertMaps.F90)
16
.
1
.
1
GlobalMapToGlobalSegMap_ - Convert GlobalMap to GlobalSegMap
16
.
1
.
2
GlobalSegMapToGlobalMap_ - Convert GlobalSegMap to GlobalMap
jacob@mcs.anl.gov