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 Summary
Nested Classes Modifier and Type Class Description static classGPUInstruction.GPUINSTRUCTION_TYPE-
Nested classes/interfaces inherited from class org.apache.sysds.runtime.instructions.Instruction
Instruction.IType
-
-
Field Summary
-
Fields inherited from class org.apache.sysds.runtime.instructions.Instruction
DATATYPE_PREFIX, FEDERATED_INST_PREFIX, GPU_INST_PREFIX, INSTRUCTION_DELIM, LITERAL_PREFIX, OPERAND_DELIM, SP_INST_PREFIX, VALUETYPE_PREFIX
-
-
Method Summary
All 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.Instruction
getBeginColumn, 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.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.sysds.runtime.lineage.LineageTraceable
getLineageItems, hasSingleLineage
-
-
-
-
Field Detail
-
_output
public final CPOperand _output
-
_input1
public final CPOperand _input1
-
_input2
public final CPOperand _input2
-
MISC_TIMER_HOST_TO_DEVICE
public static final String MISC_TIMER_HOST_TO_DEVICE
- See Also:
- Constant Field Values
-
MISC_TIMER_DEVICE_TO_HOST
public static final String MISC_TIMER_DEVICE_TO_HOST
- See Also:
- Constant Field Values
-
MISC_TIMER_DEVICE_TO_DEVICE
public static final String MISC_TIMER_DEVICE_TO_DEVICE
- See Also:
- Constant Field Values
-
MISC_TIMER_SPARSE_TO_DENSE
public static final String MISC_TIMER_SPARSE_TO_DENSE
- See Also:
- Constant Field Values
-
MISC_TIMER_DENSE_TO_SPARSE
public static final String MISC_TIMER_DENSE_TO_SPARSE
- See Also:
- Constant Field Values
-
MISC_TIMER_ROW_TO_COLUMN_MAJOR
public static final String MISC_TIMER_ROW_TO_COLUMN_MAJOR
- See Also:
- Constant Field Values
-
MISC_TIMER_COLUMN_TO_ROW_MAJOR
public static final String MISC_TIMER_COLUMN_TO_ROW_MAJOR
- See Also:
- Constant Field Values
-
MISC_TIMER_OBJECT_CLONE
public static final String MISC_TIMER_OBJECT_CLONE
- See Also:
- Constant Field Values
-
MISC_TIMER_CUDA_SYNC
public static final String MISC_TIMER_CUDA_SYNC
- See Also:
- Constant Field Values
-
MISC_TIMER_CUDA_FREE
public static final String MISC_TIMER_CUDA_FREE
- See Also:
- Constant Field Values
-
MISC_TIMER_ALLOCATE
public static final String MISC_TIMER_ALLOCATE
- See Also:
- Constant Field Values
-
MISC_TIMER_EVICT
public static final String MISC_TIMER_EVICT
- See Also:
- Constant Field Values
-
MISC_TIMER_ALLOCATE_DENSE_OUTPUT
public static final String MISC_TIMER_ALLOCATE_DENSE_OUTPUT
- See Also:
- Constant Field Values
-
MISC_TIMER_ALLOCATE_SPARSE_OUTPUT
public static final String MISC_TIMER_ALLOCATE_SPARSE_OUTPUT
- See Also:
- Constant Field Values
-
MISC_TIMER_SET_ZERO
public static final String MISC_TIMER_SET_ZERO
- See Also:
- Constant Field Values
-
MISC_TIMER_REUSE
public static final String MISC_TIMER_REUSE
- See Also:
- Constant Field Values
-
MISC_TIMER_SPARSE_ALLOCATE_LIB
public static final String MISC_TIMER_SPARSE_ALLOCATE_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_DENSE_DOT_LIB
public static final String MISC_TIMER_DENSE_DOT_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB
public static final String MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB
public static final String MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB
public static final String MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB
public static final String MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB
public static final String MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB
public static final String MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_SYRK_LIB
public static final String MISC_TIMER_SYRK_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_DAXPY_LIB
public static final String MISC_TIMER_DAXPY_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_QR_BUFFER
public static final String MISC_TIMER_QR_BUFFER
- See Also:
- Constant Field Values
-
MISC_TIMER_QR
public static final String MISC_TIMER_QR
- See Also:
- Constant Field Values
-
MISC_TIMER_ORMQR
public static final String MISC_TIMER_ORMQR
- See Also:
- Constant Field Values
-
MISC_TIMER_TRSM
public static final String MISC_TIMER_TRSM
- See Also:
- Constant Field Values
-
MISC_TIMER_SPARSE_DGEAM_LIB
public static final String MISC_TIMER_SPARSE_DGEAM_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_DENSE_DGEAM_LIB
public static final String MISC_TIMER_DENSE_DGEAM_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_TRANSPOSE_LIB
public static final String MISC_TIMER_TRANSPOSE_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL
public static final String MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_COMPARE_AND_SET_KERNEL
public static final String MISC_TIMER_COMPARE_AND_SET_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_EXP_KERNEL
public static final String MISC_TIMER_EXP_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_SQRT_KERNEL
public static final String MISC_TIMER_SQRT_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_ROUND_KERNEL
public static final String MISC_TIMER_ROUND_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_ABS_KERNEL
public static final String MISC_TIMER_ABS_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_LOG_KERNEL
public static final String MISC_TIMER_LOG_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_FLOOR_KERNEL
public static final String MISC_TIMER_FLOOR_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_CEIL_KERNEL
public static final String MISC_TIMER_CEIL_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_SIN_KERNEL
public static final String MISC_TIMER_SIN_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_COS_KERNEL
public static final String MISC_TIMER_COS_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_TAN_KERNEL
public static final String MISC_TIMER_TAN_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_SINH_KERNEL
public static final String MISC_TIMER_SINH_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_COSH_KERNEL
public static final String MISC_TIMER_COSH_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_TANH_KERNEL
public static final String MISC_TIMER_TANH_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_ASIN_KERNEL
public static final String MISC_TIMER_ASIN_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_ACOS_KERNEL
public static final String MISC_TIMER_ACOS_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_ATAN_KERNEL
public static final String MISC_TIMER_ATAN_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_SIGN_KERNEL
public static final String MISC_TIMER_SIGN_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_SIGMOID_KERNEL
public static final String MISC_TIMER_SIGMOID_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_CBIND_KERNEL
public static final String MISC_TIMER_CBIND_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_RBIND_KERNEL
public static final String MISC_TIMER_RBIND_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_DAXPY_MV_KERNEL
public static final String MISC_TIMER_DAXPY_MV_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL
public static final String MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_FILL_KERNEL
public static final String MISC_TIMER_FILL_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_MATRIX_SCALAR_OP_KERNEL
public static final String MISC_TIMER_MATRIX_SCALAR_OP_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_REDUCE_ALL_KERNEL
public static final String MISC_TIMER_REDUCE_ALL_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_REDUCE_ROW_KERNEL
public static final String MISC_TIMER_REDUCE_ROW_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_REDUCE_COL_KERNEL
public static final String MISC_TIMER_REDUCE_COL_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_RIX_DENSE_OP
public static final String MISC_TIMER_RIX_DENSE_OP
- See Also:
- Constant Field Values
-
MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE
public static final String MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE
- See Also:
- Constant Field Values
-
MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ
public static final String MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ
- See Also:
- Constant Field Values
-
MISC_TIMER_ACTIVATION_FORWARD_LIB
public static final String MISC_TIMER_ACTIVATION_FORWARD_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_CONVOLUTION_FORWARD_LIB
public static final String MISC_TIMER_CONVOLUTION_FORWARD_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB
public static final String MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB
public static final String MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_MAXPOOLING_FORWARD_LIB
public static final String MISC_TIMER_MAXPOOLING_FORWARD_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_MAXPOOLING_BACKWARD_LIB
public static final String MISC_TIMER_MAXPOOLING_BACKWARD_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_BIAS_ADD_LIB
public static final String MISC_TIMER_BIAS_ADD_LIB
- See Also:
- Constant Field Values
-
MISC_TIMER_RELU_BACKWARD_KERNEL
public static final String MISC_TIMER_RELU_BACKWARD_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_RELU_KERNEL
public static final String MISC_TIMER_RELU_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_CUDNN_INIT
public static final String MISC_TIMER_CUDNN_INIT
- See Also:
- Constant Field Values
-
MISC_TIMER_CUDNN_CLEANUP
public static final String MISC_TIMER_CUDNN_CLEANUP
- See Also:
- Constant Field Values
-
MISC_TIMER_DENSE_IM2COL_KERNEL
public static final String MISC_TIMER_DENSE_IM2COL_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_SPARSE_IM2COL_KERNEL
public static final String MISC_TIMER_SPARSE_IM2COL_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_DENSE_REORG_KNPQ_KERNEL
public static final String MISC_TIMER_DENSE_REORG_KNPQ_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_CUMULATIVE_SCAN_KERNEL
public static final String MISC_TIMER_CUMULATIVE_SCAN_KERNEL
- See Also:
- Constant Field Values
-
MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL
public static final String MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL
- See Also:
- Constant Field Values
-
-
Method Detail
-
getType
public Instruction.IType getType()
- Specified by:
getTypein classInstruction
-
getGPUInstructionType
public GPUInstruction.GPUINSTRUCTION_TYPE getGPUInstructionType()
-
requiresLabelUpdate
public boolean requiresLabelUpdate()
- Overrides:
requiresLabelUpdatein classInstruction
-
getGraphString
public String getGraphString()
- Overrides:
getGraphStringin classInstruction
-
preprocessInstruction
public 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 classInstruction- Parameters:
ec- execution context- Returns:
- instruction
-
processInstruction
public abstract void processInstruction(ExecutionContext ec)
Description copied from class:InstructionThis method should be used to execute the instruction.- Specified by:
processInstructionin classInstruction- Parameters:
ec- execution context
-
postprocessInstruction
public 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 classInstruction- Parameters:
ec- execution context
-
getLineageItem
public 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 interfaceLineageTraceable- Parameters:
ec- execution context w/ live variables- Returns:
- pair of (output variable name, output lineage item)
-
-