
Classes | |
| class | UnmangledNumber |
| Inner class for recording unmangled type information. More... | |
Public Member Functions | |
| ArrayDistributor (StaticarrayData array, int numThreads) | |
| boolean | hasTypeInformation () |
| Returns true if we have type information about this array. | |
| boolean | redistributeArray (int numThreads) |
| Redistribute the array assuming there are numThreads threads. | |
| void | redistributeArray (String userBlockSizeExpr, String userDimensionsExpr, int numThreads) throws EvaluationException |
| Redistribute the array assuming there are numThreads threads, given user input containing an expression. | |
| int | getBlockSize () |
| The array's blocking factor. | |
| int[] | getDimensions () |
| The array's dimensions. | |
| long | getNumberOfElements () |
| The number of elements in the array. | |
| String | getDimensionText () |
| String representing dimension text. | |
| String | getArrayDeclaration () |
| Returns a string that approximates the original definition, as much as possible. | |
| String | getArrayName () |
| Array's name (null if not available). | |
| int | getCallsiteID () |
| Callsite ID where the array was declared. | |
| int | getNBlocks () |
| nblocks (same meaning as upc's upc_global_alloc) | |
| int | getNBytes () |
| nbytes (same meaning as upc's upc_global_alloc) | |
| int | getElementSize () |
| element size (PPW_ELEMSIZE_UNKNOWN if unknown) | |
| String | getEncodedTypeString () |
| Encoded type string. | |
| String | toString () |
Static Public Member Functions | |
| static void | main (String[] args) |
| test harness | |
Package Functions | |
| void | parseBlocksizeInput (String bsText, int numThreads) throws EvaluationException |
| Parse blocksize text and set blocksize accordingly. | |
| void | parseDimensionsInput (String dimsText) throws EvaluationException |
| Parses dimensions text and sets distributedDimensions accordingly. | |
| UnmangledNumber | unmangleNextNumber (int pos, String str) |
| Gets an integer within a string, up to the next non-numeric digit or end of string. | |
| void | unmangleTypeData () |
| Unmangle type information and recover array bounds, if possible. | |
Static Package Functions | |
| static void | testWithEncstr (String encstr, int nthreads) |
| test decoder | |
Package Attributes | |
| int | csId |
| String | arrName |
| int | nBlocks |
| int | nBytes |
| int | elemSize |
| String | encTypeString |
| boolean | isScalar |
| boolean | isVolatile |
| boolean | isConst |
| boolean | isRelaxed |
| boolean | isStrict |
| int | blockSize |
| long | numElements |
| int[] | dimensions |
| int[] | distributedDimensions |
| boolean[] | threadMult |
| String | arrayDataType |
| String | arrayDelcaration |
| String | dimensionText |
| ExpressionEvaluator | exprEvaluator |
| ExpressionParser | exprParser |
| boolean | haveTypeInformation |
Handles demangling encoded type information, figuring out the dimension bounds (if possible) and block size, etc.
| int edu.ufl.hcs.ppw.pdm.highlevel.ArrayDistributor.getBlockSize | ( | ) |
The array's blocking factor.
Will be set to 0 if indefinitely blocked (in that case, getNBlocks() will also return 1). This won't be set until you call redistributeArray().
| int [] edu.ufl.hcs.ppw.pdm.highlevel.ArrayDistributor.getDimensions | ( | ) |
The array's dimensions.
Will be null if dimensions aren't available.
| boolean edu.ufl.hcs.ppw.pdm.highlevel.ArrayDistributor.hasTypeInformation | ( | ) |
Returns true if we have type information about this array.
If not, then the distribution methods below don't do anything, and user input should be fed into the version of redistributeArray() that takes user input.
| void edu.ufl.hcs.ppw.pdm.highlevel.ArrayDistributor.redistributeArray | ( | String | userBlockSizeExpr, | |
| String | userDimensionsExpr, | |||
| int | numThreads | |||
| ) | throws EvaluationException |
Redistribute the array assuming there are numThreads threads, given user input containing an expression.
Returns true if the expression was valid and was parsed, false otherwise.
References edu.ufl.hcs.ppw.pdm.highlevel.ExpressionEvaluator.addVariable(), edu.ufl.hcs.ppw.pdm.highlevel.ArrayDistributor.parseBlocksizeInput(), and edu.ufl.hcs.ppw.pdm.highlevel.ArrayDistributor.parseDimensionsInput().
| boolean edu.ufl.hcs.ppw.pdm.highlevel.ArrayDistributor.redistributeArray | ( | int | numThreads | ) |
Redistribute the array assuming there are numThreads threads.
Note that unless there is mangled data available (either user-specified or from unmangled debug information), this won't do anything.
Returns false if there was no information to work with.
| UnmangledNumber edu.ufl.hcs.ppw.pdm.highlevel.ArrayDistributor.unmangleNextNumber | ( | int | pos, | |
| String | str | |||
| ) | [package] |
Gets an integer within a string, up to the next non-numeric digit or end of string.
Returns unmangled number information.
References edu.ufl.hcs.ppw.pdm.highlevel.ArrayDistributor.ArrayDistributor.UnmangledNumber.endpos, edu.ufl.hcs.ppw.pdm.highlevel.ArrayDistributor.ArrayDistributor.UnmangledNumber.timesThreads, and edu.ufl.hcs.ppw.pdm.highlevel.ArrayDistributor.ArrayDistributor.UnmangledNumber.unmangledNumber.
Referenced by edu.ufl.hcs.ppw.pdm.highlevel.ArrayDistributor.unmangleTypeData().
1.5.8