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
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.apache.sysds.runtime.instructions.Instruction
Instruction.IType -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal CPOperandfinal CPOperandfinal CPOperandstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class org.apache.sysds.runtime.instructions.Instruction
DATATYPE_PREFIX, FEDERATED_INST_PREFIX, GPU_INST_PREFIX, INSTRUCTION_DELIM, LITERAL_PREFIX, OOC_INST_PREFIX, OPERAND_DELIM, SP_INST_PREFIX, VALUETYPE_PREFIX -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.commons.lang3.tuple.Pair<String,LineageItem> Obtain lineage trace of an instruction with a single output.getType()voidThis method should be used for any tear down after executing this instruction.This method should be used for any setup before executing this instruction.abstract voidThis method should be used to execute the instruction.booleanMethods inherited from class org.apache.sysds.runtime.instructions.Instruction
getBeginColumn, getBeginLine, getEndColumn, getEndLine, getExtendedOpcode, getFilename, getInstID, getInstructionString, getLineNum, getOpcode, getOperator, printMe, setInstID, setLocation, setLocation, setLocation, setLocation, toString, updateInstructionThreadIDMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.sysds.runtime.lineage.LineageTraceable
getLineageItems, hasSingleLineage
-
Field Details
-
_output
-
_input1
-
_input2
-
MISC_TIMER_HOST_TO_DEVICE
- See Also:
-
MISC_TIMER_DEVICE_TO_HOST
- See Also:
-
MISC_TIMER_DEVICE_TO_DEVICE
- See Also:
-
MISC_TIMER_SPARSE_TO_DENSE
- See Also:
-
MISC_TIMER_DENSE_TO_SPARSE
- See Also:
-
MISC_TIMER_ROW_TO_COLUMN_MAJOR
- See Also:
-
MISC_TIMER_COLUMN_TO_ROW_MAJOR
- See Also:
-
MISC_TIMER_OBJECT_CLONE
- See Also:
-
MISC_TIMER_CUDA_SYNC
- See Also:
-
MISC_TIMER_CUDA_FREE
- See Also:
-
MISC_TIMER_ALLOCATE
- See Also:
-
MISC_TIMER_EVICT
- See Also:
-
MISC_TIMER_ALLOCATE_DENSE_OUTPUT
- See Also:
-
MISC_TIMER_ALLOCATE_SPARSE_OUTPUT
- See Also:
-
MISC_TIMER_SET_ZERO
- See Also:
-
MISC_TIMER_REUSE
- See Also:
-
MISC_TIMER_SPARSE_ALLOCATE_LIB
- See Also:
-
MISC_TIMER_DENSE_DOT_LIB
- See Also:
-
MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB
- See Also:
-
MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB
- See Also:
-
MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB
- See Also:
-
MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB
- See Also:
-
MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB
- See Also:
-
MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB
- See Also:
-
MISC_TIMER_SYRK_LIB
- See Also:
-
MISC_TIMER_DAXPY_LIB
- See Also:
-
MISC_TIMER_QR_BUFFER
- See Also:
-
MISC_TIMER_QR
- See Also:
-
MISC_TIMER_ORMQR
- See Also:
-
MISC_TIMER_TRSM
- See Also:
-
MISC_TIMER_SPARSE_DGEAM_LIB
- See Also:
-
MISC_TIMER_DENSE_DGEAM_LIB
- See Also:
-
MISC_TIMER_TRANSPOSE_LIB
- See Also:
-
MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL
- See Also:
-
MISC_TIMER_COMPARE_AND_SET_KERNEL
- See Also:
-
MISC_TIMER_EXP_KERNEL
- See Also:
-
MISC_TIMER_SQRT_KERNEL
- See Also:
-
MISC_TIMER_ROUND_KERNEL
- See Also:
-
MISC_TIMER_ABS_KERNEL
- See Also:
-
MISC_TIMER_LOG_KERNEL
- See Also:
-
MISC_TIMER_FLOOR_KERNEL
- See Also:
-
MISC_TIMER_CEIL_KERNEL
- See Also:
-
MISC_TIMER_SIN_KERNEL
- See Also:
-
MISC_TIMER_COS_KERNEL
- See Also:
-
MISC_TIMER_TAN_KERNEL
- See Also:
-
MISC_TIMER_SINH_KERNEL
- See Also:
-
MISC_TIMER_COSH_KERNEL
- See Also:
-
MISC_TIMER_TANH_KERNEL
- See Also:
-
MISC_TIMER_ASIN_KERNEL
- See Also:
-
MISC_TIMER_ACOS_KERNEL
- See Also:
-
MISC_TIMER_ATAN_KERNEL
- See Also:
-
MISC_TIMER_SIGN_KERNEL
- See Also:
-
MISC_TIMER_SIGMOID_KERNEL
- See Also:
-
MISC_TIMER_CBIND_KERNEL
- See Also:
-
MISC_TIMER_RBIND_KERNEL
- See Also:
-
MISC_TIMER_DAXPY_MV_KERNEL
- See Also:
-
MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL
- See Also:
-
MISC_TIMER_FILL_KERNEL
- See Also:
-
MISC_TIMER_MATRIX_SCALAR_OP_KERNEL
- See Also:
-
MISC_TIMER_REDUCE_ALL_KERNEL
- See Also:
-
MISC_TIMER_REDUCE_ROW_KERNEL
- See Also:
-
MISC_TIMER_REDUCE_COL_KERNEL
- See Also:
-
MISC_TIMER_RIX_DENSE_OP
- See Also:
-
MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE
- See Also:
-
MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ
- See Also:
-
MISC_TIMER_ACTIVATION_FORWARD_LIB
- See Also:
-
MISC_TIMER_CONVOLUTION_FORWARD_LIB
- See Also:
-
MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB
- See Also:
-
MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB
- See Also:
-
MISC_TIMER_MAXPOOLING_FORWARD_LIB
- See Also:
-
MISC_TIMER_MAXPOOLING_BACKWARD_LIB
- See Also:
-
MISC_TIMER_BIAS_ADD_LIB
- See Also:
-
MISC_TIMER_RELU_BACKWARD_KERNEL
- See Also:
-
MISC_TIMER_RELU_KERNEL
- See Also:
-
MISC_TIMER_CUDNN_INIT
- See Also:
-
MISC_TIMER_CUDNN_CLEANUP
- See Also:
-
MISC_TIMER_DENSE_IM2COL_KERNEL
- See Also:
-
MISC_TIMER_SPARSE_IM2COL_KERNEL
- See Also:
-
MISC_TIMER_DENSE_REORG_KNPQ_KERNEL
- See Also:
-
MISC_TIMER_CUMULATIVE_SCAN_KERNEL
- See Also:
-
MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL
- See Also:
-
-
Method Details
-
getType
- Specified by:
getTypein classInstruction
-
getGPUInstructionType
-
requiresLabelUpdate
public boolean requiresLabelUpdate()- Overrides:
requiresLabelUpdatein classInstruction
-
getGraphString
- Overrides:
getGraphStringin classInstruction
-
preprocessInstruction
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 classInstruction- Parameters:
ec- execution context- Returns:
- instruction
-
processInstruction
Description copied from class:InstructionThis method should be used to execute the instruction.- Specified by:
processInstructionin classInstruction- Parameters:
ec- execution context
-
postprocessInstruction
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 classInstruction- Parameters:
ec- execution context
-
getLineageItem
Description copied from interface:LineageTraceableObtain lineage trace of an instruction with a single output.- Specified by:
getLineageItemin interfaceLineageTraceable- Parameters:
ec- execution context w/ live variables- Returns:
- pair of (output variable name, output lineage item)
-