Overview
Package
Class
Tree
Deprecated
Index
Help
PREV NEXT
FRAMES
NO FRAMES
All Classes
A
C
D
E
G
I
L
M
N
P
Q
R
S
T
U
A
addSends()
- Method in class laser.mpi.util.shuffle.
Shuffler
Adds up the global number of Sends and Sendrecvs that have taken place.
archetype
- Static variable in class laser.mpi.util.shuffle.test.
Test
C
comm
- Variable in class laser.mpi.util.shuffle.
Shuffler
The communicator in which the reordering is to take place.
comm()
- Method in class laser.mpi.util.shuffle.
Shuffler
Returns the MPI communicator, comm.
Coordinate
- class laser.mpi.util.shuffle.
Coordinate
.
A Coordinate is just a pair (proc, locPos) of ints representing a particular position of localData on a particular proc.
Coordinate(int, int)
- Constructor for class laser.mpi.util.shuffle.
Coordinate
Constructs a new instance of Coordinate with the given process rank and local position.
coordinates
- Variable in class laser.mpi.util.shuffle.
TranspositionShuffler
An array containing all the coordinates which occur as a source or target in map.
copyData(int, int)
- Method in class laser.mpi.util.shuffle.
TranspositionShuffler
Copies the locaData entry at global index j to the localData entry with global index i.
CycleShiftShuffler
- class laser.mpi.util.shuffle.
CycleShiftShuffler
.
A CycleShiftShuffler provides functionality to move around elements of a distributed array using MPI.
CycleShiftShuffler()
- Constructor for class laser.mpi.util.shuffle.
CycleShiftShuffler
Constructs a trivial instance of this class with name "Trivial CycleShiftShuffler".
CycleShiftShuffler(String, Intracomm, int, Mapping[], Object[])
- Constructor for class laser.mpi.util.shuffle.
CycleShiftShuffler
Constructs a new instance of this class with the given name, communicator, tag, map and localData.
D
d
- Variable in class laser.mpi.util.shuffle.test.
UseCase3
The length of localData on all procs with positive rank
d
- Variable in class laser.mpi.util.shuffle.test.
UseCase2
The length of localData on each proc.
d
- Variable in class laser.mpi.util.shuffle.test.
UseCase0
The length of the localData array on each proc.
debug
- Static variable in class laser.mpi.util.shuffle.
Shuffler
The debugging flag.
debug(int, String)
- Method in class laser.mpi.util.shuffle.
Shuffler
Same as debug, but only prints the message if proc == myRank (and debug == true).
debug(String)
- Method in class laser.mpi.util.shuffle.
Shuffler
If debug == true, prints the given message to stdout along with the proc ID (rank).
E
error
- Variable in class laser.mpi.util.shuffle.test.
UseCase
A message explaining the error if test fails.
G
getCycle(Node)
- Method in class laser.mpi.util.shuffle.
CycleShiftShuffler
A method invoked by getNextFactor after it has been determined that the factor is a cycle.
getNextFactor()
- Method in class laser.mpi.util.shuffle.
CycleShiftShuffler
Returns the next factor (which is either a cycle or a shift) from the canonical factorization of the map.
getShift(Node)
- Method in class laser.mpi.util.shuffle.
CycleShiftShuffler
A method invoked by getNextFactor when it has been determined that the factor is a shift.
globalNumSendrecvs
- Variable in class laser.mpi.util.shuffle.
Shuffler
globalNumSendrecvs()
- Method in class laser.mpi.util.shuffle.
Shuffler
globalNumSends
- Variable in class laser.mpi.util.shuffle.
Shuffler
globalNumSends()
- Method in class laser.mpi.util.shuffle.
Shuffler
I
indices
- Variable in class laser.mpi.util.shuffle.
TranspositionShuffler
An array of length nProcs of arrays of ints.
L
laser.mpi.util.shuffle
- package laser.mpi.util.shuffle
laser.mpi.util.shuffle.test
- package laser.mpi.util.shuffle.test
lengths
- Variable in class laser.mpi.util.shuffle.
Shuffler
An array of length nProcs.
lengths()
- Method in class laser.mpi.util.shuffle.
Shuffler
Returns an array lengths of length nProcs.
localData
- Variable in class laser.mpi.util.shuffle.test.
UseCase
The localData for this use case.
localData
- Variable in class laser.mpi.util.shuffle.
Shuffler
This is the array which contains this proc's portion of the data.
localData()
- Method in class laser.mpi.util.shuffle.
Shuffler
Returns the localData array for this proc.
locPos
- Variable in class laser.mpi.util.shuffle.
Node
The local position (in the localData array) for the coordinate corresponding to this node.
locPos
- Variable in class laser.mpi.util.shuffle.
Coordinate
The position in localData.
locPos()
- Method in class laser.mpi.util.shuffle.
Coordinate
Returns the position in localData (locPos).
M
main(String[])
- Static method in class laser.mpi.util.shuffle.test.
UseCase5
Performs a test based on this use case.
main(String[])
- Static method in class laser.mpi.util.shuffle.test.
UseCase4
Performs a test based on this use case.
main(String[])
- Static method in class laser.mpi.util.shuffle.test.
UseCase3
Performs a test based on this use case with d=5.
main(String[])
- Static method in class laser.mpi.util.shuffle.test.
UseCase1
Performs a test based on this use case.
main(String[])
- Static method in class laser.mpi.util.shuffle.test.
UseCase2
Performs a test based on this use case with d=5.
main(String[])
- Static method in class laser.mpi.util.shuffle.test.
UseCase0
Performs a test based on this use case for d=5.
main(String[])
- Static method in class laser.mpi.util.shuffle.
TranspositionShuffler
This simply executes a number of tests described in the test cases.
main(String[])
- Static method in class laser.mpi.util.shuffle.
CycleShiftShuffler
This simply executes a number of tests described in the test cases.
map
- Variable in class laser.mpi.util.shuffle.test.
UseCase
The map for this use case.
map
- Variable in class laser.mpi.util.shuffle.
Shuffler
An array of Mappings.
map()
- Method in class laser.mpi.util.shuffle.
Shuffler
Returns the map, which is array of Mapping telling exactly what is to be moved where.
Mapping
- class laser.mpi.util.shuffle.
Mapping
.
A Mapping is a pair (source, target) of two Coordinates, representing the starting and destination coordinates for a move.
Mapping(Coordinate, Coordinate)
- Constructor for class laser.mpi.util.shuffle.
Mapping
Constructs a new instance of Mapping with the given source and target coordinates.
myAssert(boolean)
- Method in class laser.mpi.util.shuffle.
Shuffler
My cheap assertion checker.
myRank
- Static variable in class laser.mpi.util.shuffle.test.
Test
myRank
- Variable in class laser.mpi.util.shuffle.test.
UseCase
The rank (ID) of this process.
myRank
- Variable in class laser.mpi.util.shuffle.
Shuffler
The rank (ID) of this process.
myRank()
- Method in class laser.mpi.util.shuffle.
Shuffler
Returns the rank (i.e., process ID) of this process.
N
name
- Variable in class laser.mpi.util.shuffle.test.
UseCase
The name of this use case.
name
- Variable in class laser.mpi.util.shuffle.
Shuffler
A name for this Shuffler, which is especially useful for debugging.
name()
- Method in class laser.mpi.util.shuffle.
Shuffler
Returns the name of this Shuffler.
nData
- Variable in class laser.mpi.util.shuffle.test.
UseCase3
d*nProcs
nData
- Variable in class laser.mpi.util.shuffle.test.
UseCase2
The total number of data, i.e., d*nProcs.
nData
- Variable in class laser.mpi.util.shuffle.test.
UseCase0
The total amount of data, i.e., d*nProcs.
newInstance(String, Intracomm, int, Mapping[], Object[])
- Method in class laser.mpi.util.shuffle.
TranspositionShuffler
Creates a new instance with the given name, communicator, tag, map and localData.
newInstance(String, Intracomm, int, Mapping[], Object[])
- Method in class laser.mpi.util.shuffle.
CycleShiftShuffler
Creates a new instance with the given name, communicator, tag, map and localData.
newInstance(String, Intracomm, int, Mapping[], Object[])
- Method in class laser.mpi.util.shuffle.
Shuffler
Creates a new instance with the given name, communicator, tag, map and localData.
newLocalData
- Variable in class laser.mpi.util.shuffle.test.
UseCase
What the localData should look like after shuffling.
next
- Variable in class laser.mpi.util.shuffle.
Node
The next node, i.e., the node (if any) to which this one is moved by map.
nextSeg
- Variable in class laser.mpi.util.shuffle.
Node
If segStart is true, this field is used to point to the next segment in the factor.
Node
- class laser.mpi.util.shuffle.
Node
.
The Node is the main data structure used to represent information about a particular coordinate which occurs (as a source or target) in the map.
Node(int, int)
- Constructor for class laser.mpi.util.shuffle.
Node
Constructs a new Node with given proc and locPos.
nodes
- Variable in class laser.mpi.util.shuffle.
CycleShiftShuffler
An array of length nProcs of arrays of Nodes.
nodes()
- Method in class laser.mpi.util.shuffle.
CycleShiftShuffler
Returns the nodes array.
nPass
- Static variable in class laser.mpi.util.shuffle.test.
Test
nProcs
- Static variable in class laser.mpi.util.shuffle.test.
Test
nProcs
- Variable in class laser.mpi.util.shuffle.test.
UseCase
The number of processes.
nProcs
- Variable in class laser.mpi.util.shuffle.
Shuffler
The total number of processes.
nProcs()
- Method in class laser.mpi.util.shuffle.
Shuffler
Returns the number of processes in the system.
nSendrecvs
- Variable in class laser.mpi.util.shuffle.
Shuffler
The total number of Sendrecvs that were executed.
nSendrecvs()
- Method in class laser.mpi.util.shuffle.
Shuffler
Returns the total number of local Sendrecvs that were executed.
nSends
- Variable in class laser.mpi.util.shuffle.
Shuffler
The total number of sends (including those that were part of a Sendrecv) executed in the course of reordering.
nSends()
- Method in class laser.mpi.util.shuffle.
Shuffler
Returns the total number of local sends (including those that were part of a Sendrecv) executed in the course of reordering.
nTests
- Static variable in class laser.mpi.util.shuffle.test.
Test
P
p
- Variable in class laser.mpi.util.shuffle.
TranspositionShuffler
This is the map, using the global indices instead of coordinates.
prev
- Variable in class laser.mpi.util.shuffle.
Node
The previous node, i.e., the node (if any) which is moved to this one by map.
printArray(PrintStream, Object[])
- Static method in class laser.mpi.util.shuffle.
Shuffler
A utility method for printing out the elements of an array.
printLocalData(PrintStream)
- Method in class laser.mpi.util.shuffle.
Shuffler
Prints out the given state of all the localData arrays to the given PrintStream.
printMap(PrintStream)
- Method in class laser.mpi.util.shuffle.
CycleShiftShuffler
Prints map, and, if debugging, prints node structures as well.
printMap(PrintStream)
- Method in class laser.mpi.util.shuffle.
Shuffler
Prints out a readable view of the map on proc 0 to the given PrintStream out.
printNodes(PrintStream)
- Method in class laser.mpi.util.shuffle.
CycleShiftShuffler
Prints out a readable view of the nodes array on proc 0 to the given PrintStream out.
printState(int)
- Method in class laser.mpi.util.shuffle.
TranspositionShuffler
printState(PrintStream)
- Method in class laser.mpi.util.shuffle.
CycleShiftShuffler
Prints everything to the given PrintStream: the map, the nodes, and the localData.
proc
- Variable in class laser.mpi.util.shuffle.
Node
The proc for the coordinate corresponding to this node.
proc
- Variable in class laser.mpi.util.shuffle.
Coordinate
The process ID (rank).
proc()
- Method in class laser.mpi.util.shuffle.
Coordinate
Returns the process rank (proc).
Q
q
- Variable in class laser.mpi.util.shuffle.
TranspositionShuffler
This is simply the inverse of p.
R
reached
- Variable in class laser.mpi.util.shuffle.
Node
Tells whether or not this node has been reached.
reorder()
- Method in class laser.mpi.util.shuffle.
TranspositionShuffler
This is the main method which carries out the reordering.
reorder()
- Method in class laser.mpi.util.shuffle.
CycleShiftShuffler
This is the main method which starts the reordering.
reorder()
- Method in class laser.mpi.util.shuffle.
Shuffler
This is the main method which carries out the reordering.
reorderFactor(Node)
- Method in class laser.mpi.util.shuffle.
CycleShiftShuffler
This method shuffles the data based on a given factor.
run(UseCase)
- Static method in class laser.mpi.util.shuffle.test.
Test
runTests(Shuffler)
- Static method in class laser.mpi.util.shuffle.test.
Test
The main method, which executes the tests.
S
segEnd
- Variable in class laser.mpi.util.shuffle.
Node
If segStart is true, this field is used to point to the last node in this segment.
segStart
- Variable in class laser.mpi.util.shuffle.
Node
This flag is set to true if this node starts a new segment.
shift(Node)
- Method in class laser.mpi.util.shuffle.
CycleShiftShuffler
This method actually shifts all the local data on a single proc according to a given segment.
shuffle(Intracomm, int, Mapping[], Object[])
- Static method in class laser.mpi.util.shuffle.
TranspositionShuffler
This is the main static method which is the usual way for using this class.
shuffle(Intracomm, int, Mapping[], Object[])
- Static method in class laser.mpi.util.shuffle.
CycleShiftShuffler
This is the main static method which is the usual way for using this class.
shuffler
- Variable in class laser.mpi.util.shuffle.test.
UseCase
The Shuffler which will be created to shuffle the data.
Shuffler
- class laser.mpi.util.shuffle.
Shuffler
.
A Shuffler provides functionality to move around elements of a distributed array using MPI.
Shuffler(String)
- Constructor for class laser.mpi.util.shuffle.
Shuffler
Constructs a trivial instance of this class.
Shuffler(String, Intracomm, int, Mapping[], Object[])
- Constructor for class laser.mpi.util.shuffle.
Shuffler
Constructs a new instance of this class with the given name, communicator, tag, map and localData.
source
- Variable in class laser.mpi.util.shuffle.
Mapping
The coordinate for the source.
source()
- Method in class laser.mpi.util.shuffle.
Mapping
Returns the source coordinate.
switchData(int, int)
- Method in class laser.mpi.util.shuffle.
TranspositionShuffler
Exchanges the localData with global indices i and j.
T
tag
- Variable in class laser.mpi.util.shuffle.
Shuffler
This is the tag that will be used for all of the MPI communication in this class.
tag()
- Method in class laser.mpi.util.shuffle.
Shuffler
Returns the MPI tag, tag.
target
- Variable in class laser.mpi.util.shuffle.
Mapping
The coordinate for the target.
target()
- Method in class laser.mpi.util.shuffle.
Mapping
Returns the target coordinate.
Test
- class laser.mpi.util.shuffle.test.
Test
.
This class provides a method (runTests) which executes a range of tests from the various use cases.
Test()
- Constructor for class laser.mpi.util.shuffle.test.
Test
test(Shuffler)
- Method in class laser.mpi.util.shuffle.test.
UseCase
This executes the test specified by this use case.
toBigString()
- Method in class laser.mpi.util.shuffle.
Node
Returns a more complete string representation of this Node, showing the values of all fields.
toString()
- Method in class laser.mpi.util.shuffle.
Node
Returns a string representation of this Node of the form [proc,locPos;segStart,reached].
toString()
- Method in class laser.mpi.util.shuffle.
Mapping
Returns a string representation of this Mapping.
toString()
- Method in class laser.mpi.util.shuffle.
Coordinate
Returns a string representation of this Coordinate.
TranspositionShuffler
- class laser.mpi.util.shuffle.
TranspositionShuffler
.
A TranspositionShuffler provides functionality to move around elements of a distributed array using MPI.
TranspositionShuffler()
- Constructor for class laser.mpi.util.shuffle.
TranspositionShuffler
Constructs a trivial instance of this class.
TranspositionShuffler(String, Intracomm, int, Mapping[], Object[])
- Constructor for class laser.mpi.util.shuffle.
TranspositionShuffler
Constructs a new instance of this class with the given name, communicator, tag, map and localData.
U
UNDEFINED
- Static variable in class laser.mpi.util.shuffle.
TranspositionShuffler
A constant used to represent an undefined value for the functions p or q.
UseCase
- class laser.mpi.util.shuffle.test.
UseCase
.
An instance of UseCase contains all the data necessary to perform a single test.
UseCase()
- Constructor for class laser.mpi.util.shuffle.test.
UseCase
Constructs a new instance of UseCase with default values for the fields.
UseCase0
- class laser.mpi.util.shuffle.test.
UseCase0
.
In this use case, localData has length d on each proc.
UseCase0(int)
- Constructor for class laser.mpi.util.shuffle.test.
UseCase0
Constructs a new instance of this use case with the given d.
UseCase1
- class laser.mpi.util.shuffle.test.
UseCase1
.
A simple test involving 3 procs.
UseCase1()
- Constructor for class laser.mpi.util.shuffle.test.
UseCase1
Constructs a new instance of this use case.
UseCase2
- class laser.mpi.util.shuffle.test.
UseCase2
.
In this use case, localData has length d on each proc.
UseCase2(int)
- Constructor for class laser.mpi.util.shuffle.test.
UseCase2
Constructs a new instance of this use case with the given d.
UseCase3
- class laser.mpi.util.shuffle.test.
UseCase3
.
In this use case, localData has length d on each proc, except for proc0, which has localData with length d*nProcs.
UseCase3(int)
- Constructor for class laser.mpi.util.shuffle.test.
UseCase3
Constructs a new instance of this use case with the given d.
UseCase4
- class laser.mpi.util.shuffle.test.
UseCase4
.
A simple test involving 3 procs.
UseCase4()
- Constructor for class laser.mpi.util.shuffle.test.
UseCase4
Constructs a new instance of this use case.
UseCase5
- class laser.mpi.util.shuffle.test.
UseCase5
.
A simple test involving 2 procs.
UseCase5()
- Constructor for class laser.mpi.util.shuffle.test.
UseCase5
Constructs a new instance of this use case.
A
C
D
E
G
I
L
M
N
P
Q
R
S
T
U
Overview
Package
Class
Tree
Deprecated
Index
Help
PREV NEXT
FRAMES
NO FRAMES
All Classes