public class MatrixIndexingSPInstruction extends IndexingSPInstruction
SPInstruction.SPINSTRUCTION_TYPE
Instruction.INSTRUCTION_TYPE
_aggType, colLower, colUpper, rowLower, rowUpper
input1, input2, input3, output
_optr, _requiresLabelUpdate, _sptype
beginCol, beginLine, DATATYPE_PREFIX, endCol, endLine, GPU_INST_PREFIX, instOpcode, INSTRUCTION_DELIM, instString, LITERAL_PREFIX, LOG, OPERAND_DELIM, SP_INST_PREFIX, type, VALUETYPE_PREFIX
Constructor and Description |
---|
MatrixIndexingSPInstruction(org.apache.sysml.runtime.matrix.operators.Operator op,
org.apache.sysml.runtime.instructions.cp.CPOperand in,
org.apache.sysml.runtime.instructions.cp.CPOperand rl,
org.apache.sysml.runtime.instructions.cp.CPOperand ru,
org.apache.sysml.runtime.instructions.cp.CPOperand cl,
org.apache.sysml.runtime.instructions.cp.CPOperand cu,
org.apache.sysml.runtime.instructions.cp.CPOperand out,
org.apache.sysml.hops.AggBinaryOp.SparkAggType aggtype,
String opcode,
String istr) |
MatrixIndexingSPInstruction(org.apache.sysml.runtime.matrix.operators.Operator op,
org.apache.sysml.runtime.instructions.cp.CPOperand lhsInput,
org.apache.sysml.runtime.instructions.cp.CPOperand rhsInput,
org.apache.sysml.runtime.instructions.cp.CPOperand rl,
org.apache.sysml.runtime.instructions.cp.CPOperand ru,
org.apache.sysml.runtime.instructions.cp.CPOperand cl,
org.apache.sysml.runtime.instructions.cp.CPOperand cu,
org.apache.sysml.runtime.instructions.cp.CPOperand out,
org.apache.sysml.lops.LeftIndex.LixCacheType type,
String opcode,
String istr) |
Modifier and Type | Method and Description |
---|---|
static MatrixBlock |
inmemoryIndexing(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,MatrixBlock> in1,
MatrixCharacteristics mcIn,
MatrixCharacteristics mcOut,
org.apache.sysml.runtime.util.IndexRange ixrange) |
static boolean |
isMultiBlockLookup(org.apache.spark.api.java.JavaPairRDD<?,?> in,
MatrixCharacteristics mcIn,
MatrixCharacteristics mcOut,
org.apache.sysml.runtime.util.IndexRange ixrange)
Indicates if the given index range and input matrix exhibit the following properties:
(1) existing hash partitioner, (2) out-of-core input matrix (larger than aggregated memory),
(3) aligned indexing range (which does not required aggregation), and (4) the output fits
twice in memory (in order to collect the result).
|
static boolean |
isSingleBlockLookup(MatrixCharacteristics mcIn,
org.apache.sysml.runtime.util.IndexRange ixrange)
Indicates if the given index range only covers a single blocks of the inputs matrix.
|
void |
processInstruction(org.apache.sysml.runtime.controlprogram.context.ExecutionContext ec)
This method should be used to execute the instruction.
|
parseInstruction
getOutputVariableName, updateBinaryOutputMatrixCharacteristics, updateUnaryAggOutputMatrixCharacteristics, updateUnaryOutputMatrixCharacteristics, updateUnaryOutputMatrixCharacteristics
getGraphString, getSPInstructionType, postprocessInstruction, preprocessInstruction, requiresLabelUpdate
getExtendedOpcode, getInstID, getLineNum, getOpcode, getType, printMe, setInstID, setLocation, setLocation, setLocation, setLocation, setType, toString, updateInstructionThreadID
public MatrixIndexingSPInstruction(org.apache.sysml.runtime.matrix.operators.Operator op, org.apache.sysml.runtime.instructions.cp.CPOperand in, org.apache.sysml.runtime.instructions.cp.CPOperand rl, org.apache.sysml.runtime.instructions.cp.CPOperand ru, org.apache.sysml.runtime.instructions.cp.CPOperand cl, org.apache.sysml.runtime.instructions.cp.CPOperand cu, org.apache.sysml.runtime.instructions.cp.CPOperand out, org.apache.sysml.hops.AggBinaryOp.SparkAggType aggtype, String opcode, String istr)
public MatrixIndexingSPInstruction(org.apache.sysml.runtime.matrix.operators.Operator op, org.apache.sysml.runtime.instructions.cp.CPOperand lhsInput, org.apache.sysml.runtime.instructions.cp.CPOperand rhsInput, org.apache.sysml.runtime.instructions.cp.CPOperand rl, org.apache.sysml.runtime.instructions.cp.CPOperand ru, org.apache.sysml.runtime.instructions.cp.CPOperand cl, org.apache.sysml.runtime.instructions.cp.CPOperand cu, org.apache.sysml.runtime.instructions.cp.CPOperand out, org.apache.sysml.lops.LeftIndex.LixCacheType type, String opcode, String istr)
public void processInstruction(org.apache.sysml.runtime.controlprogram.context.ExecutionContext ec) throws DMLRuntimeException
Instruction
processInstruction
in class SPInstruction
ec
- execution contextDMLRuntimeException
- if DMLRuntimeException occurspublic static MatrixBlock inmemoryIndexing(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,MatrixBlock> in1, MatrixCharacteristics mcIn, MatrixCharacteristics mcOut, org.apache.sysml.runtime.util.IndexRange ixrange) throws DMLRuntimeException
DMLRuntimeException
public static boolean isSingleBlockLookup(MatrixCharacteristics mcIn, org.apache.sysml.runtime.util.IndexRange ixrange)
mcIn
- matrix characteristicsixrange
- index rangepublic static boolean isMultiBlockLookup(org.apache.spark.api.java.JavaPairRDD<?,?> in, MatrixCharacteristics mcIn, MatrixCharacteristics mcOut, org.apache.sysml.runtime.util.IndexRange ixrange)
in
- input matrixmcIn
- input matrix characteristicsmcOut
- output matrix characteristicsixrange
- index rangeCopyright © 2017 The Apache Software Foundation. All rights reserved.