Class DnnGPUInstruction
- java.lang.Object
-
- org.apache.sysds.runtime.instructions.Instruction
-
- org.apache.sysds.runtime.instructions.gpu.GPUInstruction
-
- org.apache.sysds.runtime.instructions.gpu.DnnGPUInstruction
-
- All Implemented Interfaces:
LineageTraceable
public class DnnGPUInstruction extends GPUInstruction
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.sysds.runtime.instructions.gpu.GPUInstruction
GPUInstruction.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.gpu.GPUInstruction
_input1, _input2, _output, MISC_TIMER_ABS_KERNEL, MISC_TIMER_ACOS_KERNEL, MISC_TIMER_ACTIVATION_FORWARD_LIB, MISC_TIMER_ALLOCATE, MISC_TIMER_ALLOCATE_DENSE_OUTPUT, MISC_TIMER_ALLOCATE_SPARSE_OUTPUT, MISC_TIMER_ASIN_KERNEL, MISC_TIMER_ATAN_KERNEL, MISC_TIMER_BIAS_ADD_LIB, MISC_TIMER_CBIND_KERNEL, MISC_TIMER_CEIL_KERNEL, MISC_TIMER_COLUMN_TO_ROW_MAJOR, MISC_TIMER_COMPARE_AND_SET_KERNEL, MISC_TIMER_CONVOLUTION_BACKWARD_DATA_LIB, MISC_TIMER_CONVOLUTION_BACKWARD_FILTER_LIB, MISC_TIMER_CONVOLUTION_FORWARD_LIB, MISC_TIMER_COS_KERNEL, MISC_TIMER_COSH_KERNEL, MISC_TIMER_CUDA_FREE, MISC_TIMER_CUDA_SYNC, MISC_TIMER_CUDNN_CLEANUP, MISC_TIMER_CUDNN_INIT, MISC_TIMER_CUMULATIVE_SCAN_KERNEL, MISC_TIMER_CUMULATIVE_SUMPROD_KERNEL, MISC_TIMER_DAXPY_LIB, MISC_TIMER_DAXPY_MV_KERNEL, MISC_TIMER_DENSE_DGEAM_LIB, MISC_TIMER_DENSE_DOT_LIB, MISC_TIMER_DENSE_IM2COL_KERNEL, MISC_TIMER_DENSE_MATRIX_DENSE_MATRIX_LIB, MISC_TIMER_DENSE_MATRIX_DENSE_VECTOR_LIB, MISC_TIMER_DENSE_REORG_KNPQ_KERNEL, MISC_TIMER_DENSE_TO_SPARSE, MISC_TIMER_DENSE_VECTOR_DENSE_MATRIX_LIB, MISC_TIMER_DEVICE_TO_DEVICE, MISC_TIMER_DEVICE_TO_HOST, MISC_TIMER_EVICT, MISC_TIMER_EXP_KERNEL, MISC_TIMER_FILL_KERNEL, MISC_TIMER_FLOOR_KERNEL, MISC_TIMER_HOST_TO_DEVICE, MISC_TIMER_LOG_KERNEL, MISC_TIMER_MATRIX_MATRIX_CELLWISE_OP_KERNEL, MISC_TIMER_MATRIX_SCALAR_OP_KERNEL, MISC_TIMER_MAXPOOLING_BACKWARD_LIB, MISC_TIMER_MAXPOOLING_FORWARD_LIB, MISC_TIMER_OBJECT_CLONE, MISC_TIMER_ORMQR, MISC_TIMER_QR, MISC_TIMER_QR_BUFFER, MISC_TIMER_RBIND_KERNEL, MISC_TIMER_REDUCE_ALL_KERNEL, MISC_TIMER_REDUCE_COL_KERNEL, MISC_TIMER_REDUCE_ROW_KERNEL, MISC_TIMER_RELU_BACKWARD_KERNEL, MISC_TIMER_RELU_KERNEL, MISC_TIMER_REUSE, MISC_TIMER_RIX_DENSE_OP, MISC_TIMER_RIX_SPARSE_DENSE_OP_NNZ, MISC_TIMER_RIX_SPARSE_DENSE_OP_ROWWISE, MISC_TIMER_ROUND_KERNEL, MISC_TIMER_ROW_TO_COLUMN_MAJOR, MISC_TIMER_SET_ZERO, MISC_TIMER_SIGMOID_KERNEL, MISC_TIMER_SIGN_KERNEL, MISC_TIMER_SIN_KERNEL, MISC_TIMER_SINH_KERNEL, MISC_TIMER_SPARSE_ALLOCATE_LIB, MISC_TIMER_SPARSE_DGEAM_LIB, MISC_TIMER_SPARSE_IM2COL_KERNEL, MISC_TIMER_SPARSE_MATRIX_DENSE_MATRIX_LIB, MISC_TIMER_SPARSE_MATRIX_DENSE_VECTOR_LIB, MISC_TIMER_SPARSE_MATRIX_SPARSE_MATRIX_LIB, MISC_TIMER_SPARSE_TO_DENSE, MISC_TIMER_SQRT_KERNEL, MISC_TIMER_SYRK_LIB, MISC_TIMER_TAN_KERNEL, MISC_TIMER_TANH_KERNEL, MISC_TIMER_TRANSPOSE_LIB, MISC_TIMER_TRSM, MISC_TIMER_UPPER_TO_LOWER_TRIANGLE_KERNEL
-
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
-
-
Constructor Summary
Constructors Constructor Description DnnGPUInstruction(CPOperand in1, CPOperand in2, CPOperand out, String opcode, String istr, double intermediateMemoryBudget)
DnnGPUInstruction(CPOperand in1, CPOperand in2, CPOperand out, String opcode, String istr, ArrayList<CPOperand> stride, ArrayList<CPOperand> padding, ArrayList<CPOperand> input_shape, ArrayList<CPOperand> filter_shape, double intermediateMemoryBudget)
DnnGPUInstruction(CPOperand in1, CPOperand in2, CPOperand in3, CPOperand out, String opcode, String istr, double intermediateMemoryBudget)
DnnGPUInstruction(CPOperand in1, CPOperand in2, CPOperand in3, CPOperand out, String opcode, String istr, ArrayList<CPOperand> stride, ArrayList<CPOperand> padding, ArrayList<CPOperand> input_shape, ArrayList<CPOperand> filter_shape, double intermediateMemoryBudget)
DnnGPUInstruction(CPOperand in1, CPOperand in2, CPOperand in3, CPOperand in4, CPOperand out, String opcode, String istr, double intermediateMemoryBudget)
DnnGPUInstruction(CPOperand in, CPOperand in2, CPOperand in3, CPOperand in4, CPOperand in5, CPOperand in6, CPOperand out, String opcode, String istr, double intermediateMemoryBudget)
DnnGPUInstruction(CPOperand in1, CPOperand in2, CPOperand in3, CPOperand in4, CPOperand in5, CPOperand in6, CPOperand out, CPOperand out2, String opcode, String istr, double intermediateMemoryBudget)
DnnGPUInstruction(CPOperand in1, CPOperand in2, CPOperand in3, CPOperand in4, CPOperand in5, CPOperand in6, CPOperand in7, CPOperand in8, CPOperand out, CPOperand out2, CPOperand out3, CPOperand out4, CPOperand out5, String opcode, String istr, double intermediateMemoryBudget)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.commons.lang3.tuple.Pair<String,LineageItem>
getLineageItem(ExecutionContext ec)
Obtain lineage trace of an instruction with a single output.static DnnGPUInstruction
parseInstruction(String str)
void
processBatchNorm2dBackwardInstruction(ExecutionContext ec)
void
processInstruction(ExecutionContext ec)
This method should be used to execute the instruction.void
processReLUBackwardInstruction(ExecutionContext ec)
-
Methods inherited from class org.apache.sysds.runtime.instructions.gpu.GPUInstruction
getGPUInstructionType, getGraphString, getType, postprocessInstruction, preprocessInstruction, requiresLabelUpdate
-
Methods 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, 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
-
-
-
-
Constructor Detail
-
DnnGPUInstruction
public DnnGPUInstruction(CPOperand in1, CPOperand in2, CPOperand out, String opcode, String istr, double intermediateMemoryBudget)
-
DnnGPUInstruction
public DnnGPUInstruction(CPOperand in1, CPOperand in2, CPOperand in3, CPOperand in4, CPOperand in5, CPOperand in6, CPOperand out, CPOperand out2, String opcode, String istr, double intermediateMemoryBudget) throws DMLRuntimeException
- Throws:
DMLRuntimeException
-
DnnGPUInstruction
public DnnGPUInstruction(CPOperand in1, CPOperand in2, CPOperand in3, CPOperand in4, CPOperand in5, CPOperand in6, CPOperand in7, CPOperand in8, CPOperand out, CPOperand out2, CPOperand out3, CPOperand out4, CPOperand out5, String opcode, String istr, double intermediateMemoryBudget) throws DMLRuntimeException
- Throws:
DMLRuntimeException
-
DnnGPUInstruction
public DnnGPUInstruction(CPOperand in1, CPOperand in2, CPOperand in3, CPOperand out, String opcode, String istr, double intermediateMemoryBudget) throws DMLRuntimeException
- Throws:
DMLRuntimeException
-
DnnGPUInstruction
public DnnGPUInstruction(CPOperand in1, CPOperand in2, CPOperand in3, CPOperand in4, CPOperand out, String opcode, String istr, double intermediateMemoryBudget) throws DMLRuntimeException
- Throws:
DMLRuntimeException
-
DnnGPUInstruction
public DnnGPUInstruction(CPOperand in1, CPOperand in2, CPOperand in3, CPOperand out, String opcode, String istr, ArrayList<CPOperand> stride, ArrayList<CPOperand> padding, ArrayList<CPOperand> input_shape, ArrayList<CPOperand> filter_shape, double intermediateMemoryBudget)
-
DnnGPUInstruction
public DnnGPUInstruction(CPOperand in1, CPOperand in2, CPOperand out, String opcode, String istr, ArrayList<CPOperand> stride, ArrayList<CPOperand> padding, ArrayList<CPOperand> input_shape, ArrayList<CPOperand> filter_shape, double intermediateMemoryBudget)
-
-
Method Detail
-
parseInstruction
public static DnnGPUInstruction parseInstruction(String str)
-
processBatchNorm2dBackwardInstruction
public void processBatchNorm2dBackwardInstruction(ExecutionContext ec) throws DMLRuntimeException
- Throws:
DMLRuntimeException
-
processReLUBackwardInstruction
public void processReLUBackwardInstruction(ExecutionContext ec)
-
processInstruction
public void processInstruction(ExecutionContext ec)
Description copied from class:Instruction
This method should be used to execute the instruction.- Specified by:
processInstruction
in classGPUInstruction
- Parameters:
ec
- execution context
-
getLineageItem
public org.apache.commons.lang3.tuple.Pair<String,LineageItem> getLineageItem(ExecutionContext ec)
Description copied from interface:LineageTraceable
Obtain lineage trace of an instruction with a single output.- Specified by:
getLineageItem
in interfaceLineageTraceable
- Overrides:
getLineageItem
in classGPUInstruction
- Parameters:
ec
- execution context w/ live variables- Returns:
- pair of (output variable name, output lineage item)
-
-