Package org.apache.sysds.resource.cost
Class CPCostUtils
java.lang.Object
org.apache.sysds.resource.cost.CPCostUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidassignOutputMemoryStats(CPInstruction inst, VarStats output, VarStats... inputs) static doublegetBinaryInstTime(BinaryCPInstruction inst, VarStats input1, VarStats input2, VarStats weights, VarStats output, IOCostUtils.IOMetrics metrics) static doublegetBuiltinNaryInstTime(BuiltinNaryCPInstruction inst, VarStats[] inputs, VarStats output, IOCostUtils.IOMetrics metrics) static doublegetComputationInstTime(ComputationCPInstruction inst, VarStats input1, VarStats input2, VarStats input3, VarStats input4, VarStats output, IOCostUtils.IOMetrics metrics) static doublegetCPUTime(long nflop, IOCostUtils.IOMetrics driverMetrics, VarStats output, VarStats... inputs) static doublegetDataGenCPInstTime(UnaryCPInstruction inst, VarStats output, IOCostUtils.IOMetrics metrics) static longgetInstNFLOP(CPInstruction.CPType instructionType, String opcode, VarStats output, VarStats... inputs) static doublegetMultiReturnBuiltinInstTime(MultiReturnBuiltinCPInstruction inst, VarStats input, VarStats[] outputs, IOCostUtils.IOMetrics metrics) static doublegetParameterizedBuiltinInstTime(ParameterizedBuiltinCPInstruction inst, VarStats input, VarStats output, IOCostUtils.IOMetrics metrics) static doublegetUnaryInstTime(UnaryCPInstruction inst, VarStats input, VarStats weights, VarStats output, IOCostUtils.IOMetrics metrics) static doublegetVariableInstTime(VariableCPInstruction inst, VarStats input, VarStats output, IOCostUtils.IOMetrics metrics) static voidinferStats(CPInstruction.CPType instType, String opcode, VarStats output, VarStats... inputs) static booleanopcodeRequiresScan(String opcode)
-
Constructor Details
-
CPCostUtils
public CPCostUtils()
-
-
Method Details
-
getVariableInstTime
public static double getVariableInstTime(VariableCPInstruction inst, VarStats input, VarStats output, IOCostUtils.IOMetrics metrics) -
getDataGenCPInstTime
public static double getDataGenCPInstTime(UnaryCPInstruction inst, VarStats output, IOCostUtils.IOMetrics metrics) -
getUnaryInstTime
public static double getUnaryInstTime(UnaryCPInstruction inst, VarStats input, VarStats weights, VarStats output, IOCostUtils.IOMetrics metrics) -
getBinaryInstTime
public static double getBinaryInstTime(BinaryCPInstruction inst, VarStats input1, VarStats input2, VarStats weights, VarStats output, IOCostUtils.IOMetrics metrics) -
getComputationInstTime
public static double getComputationInstTime(ComputationCPInstruction inst, VarStats input1, VarStats input2, VarStats input3, VarStats input4, VarStats output, IOCostUtils.IOMetrics metrics) -
getBuiltinNaryInstTime
public static double getBuiltinNaryInstTime(BuiltinNaryCPInstruction inst, VarStats[] inputs, VarStats output, IOCostUtils.IOMetrics metrics) -
getParameterizedBuiltinInstTime
public static double getParameterizedBuiltinInstTime(ParameterizedBuiltinCPInstruction inst, VarStats input, VarStats output, IOCostUtils.IOMetrics metrics) -
getMultiReturnBuiltinInstTime
public static double getMultiReturnBuiltinInstTime(MultiReturnBuiltinCPInstruction inst, VarStats input, VarStats[] outputs, IOCostUtils.IOMetrics metrics) -
opcodeRequiresScan
-
assignOutputMemoryStats
-
inferStats
public static void inferStats(CPInstruction.CPType instType, String opcode, VarStats output, VarStats... inputs) -
getCPUTime
public static double getCPUTime(long nflop, IOCostUtils.IOMetrics driverMetrics, VarStats output, VarStats... inputs) -
getInstNFLOP
public static long getInstNFLOP(CPInstruction.CPType instructionType, String opcode, VarStats output, VarStats... inputs) - Parameters:
instructionType- instruction typeopcode- instruction opcode, potentially with suffix to mark an extra op. characteristicoutput- output's variable statistics, null is not needed for the estimationinputs- any inputs' variable statistics, no object passed is not needed for estimation- Returns:
- estimated number of floating point operations
-