Class GPUInstruction
- java.lang.Object
- 
- org.apache.sysds.runtime.instructions.Instruction
- 
- org.apache.sysds.runtime.instructions.gpu.GPUInstruction
 
 
- 
- All Implemented Interfaces:
- LineageTraceable
 - Direct Known Subclasses:
- AggregateBinaryGPUInstruction,- AggregateUnaryGPUInstruction,- ArithmeticBinaryGPUInstruction,- BuiltinBinaryGPUInstruction,- BuiltinUnaryGPUInstruction,- DnnGPUInstruction,- MatrixAppendGPUInstruction,- MatrixIndexingGPUInstruction,- MatrixReshapeGPUInstruction,- MMTSJGPUInstruction,- RelationalBinaryGPUInstruction,- ReorgGPUInstruction,- SpoofCUDAInstruction
 
 public abstract class GPUInstruction extends Instruction implements LineageTraceable 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classGPUInstruction.GPUINSTRUCTION_TYPE- 
Nested classes/interfaces inherited from class org.apache.sysds.runtime.instructions.InstructionInstruction.IType
 
- 
 - 
Field Summary- 
Fields inherited from class org.apache.sysds.runtime.instructions.InstructionDATATYPE_PREFIX, FEDERATED_INST_PREFIX, GPU_INST_PREFIX, INSTRUCTION_DELIM, LITERAL_PREFIX, OPERAND_DELIM, SP_INST_PREFIX, VALUETYPE_PREFIX
 
- 
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description GPUInstruction.GPUINSTRUCTION_TYPEgetGPUInstructionType()StringgetGraphString()org.apache.commons.lang3.tuple.Pair<String,LineageItem>getLineageItem(ExecutionContext ec)Obtain lineage trace of an instruction with a single output.Instruction.ITypegetType()voidpostprocessInstruction(ExecutionContext ec)This method should be used for any tear down after executing this instruction.InstructionpreprocessInstruction(ExecutionContext ec)This method should be used for any setup before executing this instruction.abstract voidprocessInstruction(ExecutionContext ec)This method should be used to execute the instruction.booleanrequiresLabelUpdate()- 
Methods inherited from class org.apache.sysds.runtime.instructions.InstructiongetBeginColumn, getBeginLine, getEndColumn, getEndLine, getExtendedOpcode, getFilename, getInstID, getInstructionString, getLineNum, getOpcode, getOperator, getPrivacyConstraint, printMe, setInstID, setLocation, setLocation, setLocation, setLocation, setPrivacyConstraint, setPrivacyConstraint, toString, updateInstructionThreadID
 - 
Methods inherited from class java.lang.Objectequals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface org.apache.sysds.runtime.lineage.LineageTraceablegetLineageItems, hasSingleLineage
 
- 
 
- 
- 
- 
Field Detail- 
_outputpublic final CPOperand _output 
 - 
_input1public final CPOperand _input1 
 - 
_input2public final CPOperand _input2 
 - 
MISC_TIMER_HOST_TO_DEVICEpublic static final String MISC_TIMER_HOST_TO_DEVICE - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_DEVICE_TO_HOSTpublic static final String MISC_TIMER_DEVICE_TO_HOST - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_DEVICE_TO_DEVICEpublic static final String MISC_TIMER_DEVICE_TO_DEVICE - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_SPARSE_TO_DENSEpublic static final String MISC_TIMER_SPARSE_TO_DENSE - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_DENSE_TO_SPARSEpublic static final String MISC_TIMER_DENSE_TO_SPARSE - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_ROW_TO_COLUMN_MAJORpublic static final String MISC_TIMER_ROW_TO_COLUMN_MAJOR - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_COLUMN_TO_ROW_MAJORpublic static final String MISC_TIMER_COLUMN_TO_ROW_MAJOR - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_OBJECT_CLONEpublic static final String MISC_TIMER_OBJECT_CLONE - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_CUDA_SYNCpublic static final String MISC_TIMER_CUDA_SYNC - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_CUDA_FREEpublic static final String MISC_TIMER_CUDA_FREE - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_ALLOCATEpublic static final String MISC_TIMER_ALLOCATE - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_EVICTpublic static final String MISC_TIMER_EVICT - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_ALLOCATE_DENSE_OUTPUTpublic static final String MISC_TIMER_ALLOCATE_DENSE_OUTPUT - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_ALLOCATE_SPARSE_OUTPUTpublic static final String MISC_TIMER_ALLOCATE_SPARSE_OUTPUT - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_SET_ZEROpublic static final String MISC_TIMER_SET_ZERO - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_REUSEpublic static final String MISC_TIMER_REUSE - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_SPARSE_ALLOCATE_LIBpublic static final String MISC_TIMER_SPARSE_ALLOCATE_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_DENSE_DOT_LIBpublic static final String MISC_TIMER_DENSE_DOT_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIBpublic static final String MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIBpublic static final String MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIBpublic static final String MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIBpublic static final String MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIBpublic static final String MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIBpublic static final String MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_SYRK_LIBpublic static final String MISC_TIMER_SYRK_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_DAXPY_LIBpublic static final String MISC_TIMER_DAXPY_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_QR_BUFFERpublic static final String MISC_TIMER_QR_BUFFER - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_QRpublic static final String MISC_TIMER_QR - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_ORMQRpublic static final String MISC_TIMER_ORMQR - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_TRSMpublic static final String MISC_TIMER_TRSM - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_SPARSE_DGEAM_LIBpublic static final String MISC_TIMER_SPARSE_DGEAM_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_DENSE_DGEAM_LIBpublic static final String MISC_TIMER_DENSE_DGEAM_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_TRANSPOSE_LIBpublic static final String MISC_TIMER_TRANSPOSE_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNELpublic static final String MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_COMPARE_AND_SET_KERNELpublic static final String MISC_TIMER_COMPARE_AND_SET_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_EXP_KERNELpublic static final String MISC_TIMER_EXP_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_SQRT_KERNELpublic static final String MISC_TIMER_SQRT_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_ROUND_KERNELpublic static final String MISC_TIMER_ROUND_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_ABS_KERNELpublic static final String MISC_TIMER_ABS_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_LOG_KERNELpublic static final String MISC_TIMER_LOG_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_FLOOR_KERNELpublic static final String MISC_TIMER_FLOOR_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_CEIL_KERNELpublic static final String MISC_TIMER_CEIL_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_SIN_KERNELpublic static final String MISC_TIMER_SIN_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_COS_KERNELpublic static final String MISC_TIMER_COS_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_TAN_KERNELpublic static final String MISC_TIMER_TAN_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_SINH_KERNELpublic static final String MISC_TIMER_SINH_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_COSH_KERNELpublic static final String MISC_TIMER_COSH_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_TANH_KERNELpublic static final String MISC_TIMER_TANH_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_ASIN_KERNELpublic static final String MISC_TIMER_ASIN_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_ACOS_KERNELpublic static final String MISC_TIMER_ACOS_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_ATAN_KERNELpublic static final String MISC_TIMER_ATAN_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_SIGN_KERNELpublic static final String MISC_TIMER_SIGN_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_SIGMOID_KERNELpublic static final String MISC_TIMER_SIGMOID_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_CBIND_KERNELpublic static final String MISC_TIMER_CBIND_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_RBIND_KERNELpublic static final String MISC_TIMER_RBIND_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_DAXPY_MV_KERNELpublic static final String MISC_TIMER_DAXPY_MV_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNELpublic static final String MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_FILL_KERNELpublic static final String MISC_TIMER_FILL_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_MATRIX_SCALAR_OP_KERNELpublic static final String MISC_TIMER_MATRIX_SCALAR_OP_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_REDUCE_ALL_KERNELpublic static final String MISC_TIMER_REDUCE_ALL_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_REDUCE_ROW_KERNELpublic static final String MISC_TIMER_REDUCE_ROW_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_REDUCE_COL_KERNELpublic static final String MISC_TIMER_REDUCE_COL_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_RIX_DENSE_OPpublic static final String MISC_TIMER_RIX_DENSE_OP - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISEpublic static final String MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZpublic static final String MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_ACTIVATION_FORWARD_LIBpublic static final String MISC_TIMER_ACTIVATION_FORWARD_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_CONVOLUTION_FORWARD_LIBpublic static final String MISC_TIMER_CONVOLUTION_FORWARD_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIBpublic static final String MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIBpublic static final String MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_MAXPOOLING_FORWARD_LIBpublic static final String MISC_TIMER_MAXPOOLING_FORWARD_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_MAXPOOLING_BACKWARD_LIBpublic static final String MISC_TIMER_MAXPOOLING_BACKWARD_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_BIAS_ADD_LIBpublic static final String MISC_TIMER_BIAS_ADD_LIB - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_RELU_BACKWARD_KERNELpublic static final String MISC_TIMER_RELU_BACKWARD_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_RELU_KERNELpublic static final String MISC_TIMER_RELU_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_CUDNN_INITpublic static final String MISC_TIMER_CUDNN_INIT - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_CUDNN_CLEANUPpublic static final String MISC_TIMER_CUDNN_CLEANUP - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_DENSE_IM2COL_KERNELpublic static final String MISC_TIMER_DENSE_IM2COL_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_SPARSE_IM2COL_KERNELpublic static final String MISC_TIMER_SPARSE_IM2COL_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_DENSE_REORG_KNPQ_KERNELpublic static final String MISC_TIMER_DENSE_REORG_KNPQ_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_CUMULATIVE_SCAN_KERNELpublic static final String MISC_TIMER_CUMULATIVE_SCAN_KERNEL - See Also:
- Constant Field Values
 
 - 
MISC_TIMER_CUMULATIVE_SUMPROD_KERNELpublic static final String MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
getTypepublic Instruction.IType getType() - Specified by:
- getTypein class- Instruction
 
 - 
getGPUInstructionTypepublic GPUInstruction.GPUINSTRUCTION_TYPE getGPUInstructionType() 
 - 
requiresLabelUpdatepublic boolean requiresLabelUpdate() - Overrides:
- requiresLabelUpdatein class- Instruction
 
 - 
getGraphStringpublic String getGraphString() - Overrides:
- getGraphStringin class- Instruction
 
 - 
preprocessInstructionpublic Instruction preprocessInstruction(ExecutionContext ec) Description copied from class:InstructionThis method should be used for any setup before executing this instruction. Overwriting methods should first call the super method and subsequently do their custom setup.- Overrides:
- preprocessInstructionin class- Instruction
- Parameters:
- ec- execution context
- Returns:
- instruction
 
 - 
processInstructionpublic abstract void processInstruction(ExecutionContext ec) Description copied from class:InstructionThis method should be used to execute the instruction.- Specified by:
- processInstructionin class- Instruction
- Parameters:
- ec- execution context
 
 - 
postprocessInstructionpublic void postprocessInstruction(ExecutionContext ec) Description copied from class:InstructionThis method should be used for any tear down after executing this instruction. Overwriting methods should first do their custom tear down and subsequently call the super method.- Overrides:
- postprocessInstructionin class- Instruction
- Parameters:
- ec- execution context
 
 - 
getLineageItempublic org.apache.commons.lang3.tuple.Pair<String,LineageItem> getLineageItem(ExecutionContext ec) Description copied from interface:LineageTraceableObtain lineage trace of an instruction with a single output.- Specified by:
- getLineageItemin interface- LineageTraceable
- Parameters:
- ec- execution context w/ live variables
- Returns:
- pair of (output variable name, output lineage item)
 
 
- 
 
-