http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/CPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/CPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/CPInstruction.java index 7a2053b..f8f6dc7 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/CPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/CPInstruction.java @@ -20,7 +20,6 @@ package org.apache.sysml.runtime.instructions.cp; import org.apache.sysml.lops.runtime.RunMRJobs; -import org.apache.sysml.runtime.DMLRuntimeException; import org.apache.sysml.runtime.controlprogram.context.ExecutionContext; import org.apache.sysml.runtime.instructions.CPInstructionParser; import org.apache.sysml.runtime.instructions.Instruction; @@ -88,24 +87,18 @@ public abstract class CPInstruction extends Instruction } @Override - public Instruction preprocessInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public Instruction preprocessInstruction(ExecutionContext ec) { //default preprocess behavior (e.g., debug state) Instruction tmp = super.preprocessInstruction(ec); - //instruction patching - if( tmp.requiresLabelUpdate() ) //update labels only if required - { + if( tmp.requiresLabelUpdate() ) { //update labels only if required //note: no exchange of updated instruction as labels might change in the general case String updInst = RunMRJobs.updateLabels(tmp.toString(), ec.getVariables()); tmp = CPInstructionParser.parseSingleInstruction(updInst); } - return tmp; } @Override - public abstract void processInstruction(ExecutionContext ec) - throws DMLRuntimeException; + public abstract void processInstruction(ExecutionContext ec); }
http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/CentralMomentCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/CentralMomentCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/CentralMomentCPInstruction.java index 1bd5b60..1fcb5bc 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/CentralMomentCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/CentralMomentCPInstruction.java @@ -36,9 +36,7 @@ public class CentralMomentCPInstruction extends AggregateUnaryCPInstruction { super(cm, in1, in2, in3, out, AUType.DEFAULT, opcode, str); } - public static CentralMomentCPInstruction parseInstruction(String str) - throws DMLRuntimeException - { + public static CentralMomentCPInstruction parseInstruction(String str) { CPOperand in1 = new CPOperand("", ValueType.UNKNOWN, DataType.UNKNOWN); CPOperand in2 = null; CPOperand in3 = null; @@ -89,9 +87,7 @@ public class CentralMomentCPInstruction extends AggregateUnaryCPInstruction { } @Override - public void processInstruction( ExecutionContext ec ) - throws DMLRuntimeException - { + public void processInstruction( ExecutionContext ec ) { String output_name = output.getName(); /* http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/CompressionCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/CompressionCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/CompressionCPInstruction.java index b676a64..50d8bf0 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/CompressionCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/CompressionCPInstruction.java @@ -20,7 +20,6 @@ package org.apache.sysml.runtime.instructions.cp; import org.apache.sysml.hops.OptimizerUtils; -import org.apache.sysml.runtime.DMLRuntimeException; import org.apache.sysml.runtime.compress.CompressedMatrixBlock; import org.apache.sysml.runtime.controlprogram.context.ExecutionContext; import org.apache.sysml.runtime.instructions.Instruction; @@ -34,28 +33,21 @@ public class CompressionCPInstruction extends ComputationCPInstruction { super(CPType.Compression, op, in, null, null, out, opcode, istr); } - public static Instruction parseInstruction(String str) - throws DMLRuntimeException - { + public static Instruction parseInstruction(String str) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(str); String opcode = parts[0]; CPOperand in1 = new CPOperand(parts[1]); CPOperand out = new CPOperand(parts[2]); - return new CompressionCPInstruction(null, in1, out, opcode, str); } @Override - public void processInstruction( ExecutionContext ec ) - throws DMLRuntimeException - { + public void processInstruction( ExecutionContext ec ) { //get matrix block input MatrixBlock in = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); - //compress the matrix block MatrixBlock out = new CompressedMatrixBlock(in) .compress(OptimizerUtils.getConstrainedNumThreads(-1)); - //set output and release input ec.releaseMatrixInput(input1.getName(), getExtendedOpcode()); ec.setMatrixOutput(output.getName(), out, getExtendedOpcode()); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java index 5d4deb2..f1c313b 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ConvolutionCPInstruction.java @@ -65,14 +65,14 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction { _intermediateMemoryBudget = intermediateMemoryBudget; } - public ConvolutionCPInstruction(CPOperand in, CPOperand in2, CPOperand out, String opcode, String istr, int numThreads, double intermediateMemoryBudget) throws DMLRuntimeException { + public ConvolutionCPInstruction(CPOperand in, CPOperand in2, CPOperand out, String opcode, String istr, int numThreads, double intermediateMemoryBudget) { this(in, in2, null, out, null, null, null, null, numThreads, intermediateMemoryBudget, opcode, istr); if( !(opcode.equals("bias_add") || opcode.equals("relu_backward") || opcode.equals("bias_multiply") ) ) { throw new DMLRuntimeException("Incorrect usage. Expected the opcode to be bias_add or bias_multiply or relu_backward, but found " + opcode); } } - public ConvolutionCPInstruction(CPOperand in, CPOperand in2, CPOperand in3, CPOperand out, String opcode, String istr, int numThreads, double intermediateMemoryBudget) throws DMLRuntimeException { + public ConvolutionCPInstruction(CPOperand in, CPOperand in2, CPOperand in3, CPOperand out, String opcode, String istr, int numThreads, double intermediateMemoryBudget) { this(in, in2, in3, out, null, null, null, null, numThreads, intermediateMemoryBudget, opcode, istr); if( !opcode.equals("channel_sums") ) { throw new DMLRuntimeException("Incorrect usage. Expected the opcode to be channel_sums, but found " + opcode); @@ -99,8 +99,7 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction { this(in, in2, in3, out, stride, padding, input_shape, filter_shape, numThreads, intermediateMemoryBudget, opcode, istr); } - public static ConvolutionCPInstruction parseInstruction(String str) - throws DMLRuntimeException { + public static ConvolutionCPInstruction parseInstruction(String str) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(str); String opcode = parts[0]; @@ -220,13 +219,12 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction { } } - private static int getScalarInput(ExecutionContext ec, ArrayList<CPOperand> aL, int index) - throws DMLRuntimeException { + private static int getScalarInput(ExecutionContext ec, ArrayList<CPOperand> aL, int index) { return (int) ec.getScalarInput(aL.get(index).getName(), aL.get(index).getValueType(), aL.get(index).isLiteral()).getLongValue(); } - public void processReluBackwardInstruction(ExecutionContext ec) throws DMLRuntimeException { + public void processReluBackwardInstruction(ExecutionContext ec) { // (X > 0) * dout MatrixBlock input = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); MatrixBlock dout = ec.getMatrixInput(_in2.getName(), getExtendedOpcode()); @@ -244,7 +242,7 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction { ec.setMatrixOutput(getOutputVariableName(), outputBlock, getExtendedOpcode()); } - public void processBiasAddInstruction(ExecutionContext ec) throws DMLRuntimeException { + public void processBiasAddInstruction(ExecutionContext ec) { MatrixBlock input = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); MatrixBlock bias = ec.getMatrixInput(_in2.getName(), getExtendedOpcode()); MatrixBlock outputBlock = null; @@ -272,7 +270,7 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction { ec.setMatrixOutput(getOutputVariableName(), outputBlock, getExtendedOpcode()); } - public void processBiasMultiplyInstruction(ExecutionContext ec) throws DMLRuntimeException { + public void processBiasMultiplyInstruction(ExecutionContext ec) { MatrixBlock input = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); MatrixBlock bias = ec.getMatrixInput(_in2.getName(), getExtendedOpcode()); MatrixBlock outputBlock = null; @@ -298,7 +296,7 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction { ec.setMatrixOutput(getOutputVariableName(), outputBlock, getExtendedOpcode()); } - public void processChannelSumsInstruction(ExecutionContext ec) throws DMLRuntimeException { + public void processChannelSumsInstruction(ExecutionContext ec) { MatrixBlock input = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); int C = (int) ec.getScalarInput(_in2.getName(), _in2.getValueType(), _in2.isLiteral()).getLongValue(); int HW = (int) ec.getScalarInput(_in3.getName(), _in3.getValueType(), _in3.isLiteral()).getLongValue(); @@ -359,7 +357,7 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction { // Assumption: enableNative && NativeHelper.isNativeLibraryLoaded() is true // This increases the number of native calls. For example:the cases where filter is sparse but input is dense - private static boolean isFilterSparse(MatrixBlock filter) throws DMLRuntimeException { + private static boolean isFilterSparse(MatrixBlock filter) { long numElems = filter.getNumRows()*filter.getNumColumns(); // if filter is less than 10 MB in dense format (which handles almost all the cases). // In fact, using threshold of 1 MB is still sufficient for common CNNs. @@ -370,8 +368,7 @@ public class ConvolutionCPInstruction extends UnaryCPInstruction { @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException { + public void processInstruction(ExecutionContext ec) { if (instOpcode.equalsIgnoreCase("bias_add")) { processBiasAddInstruction(ec); return; http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/CovarianceCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/CovarianceCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/CovarianceCPInstruction.java index 699572f..f4e7df3 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/CovarianceCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/CovarianceCPInstruction.java @@ -41,8 +41,7 @@ public class CovarianceCPInstruction extends BinaryCPInstruction { super(CPType.AggregateBinary, op, in1, in2, in3, out, opcode, istr); } - public static CovarianceCPInstruction parseInstruction( String str ) - throws DMLRuntimeException + public static CovarianceCPInstruction parseInstruction( String str ) { CPOperand in1 = new CPOperand("", ValueType.UNKNOWN, DataType.UNKNOWN); CPOperand in2 = new CPOperand("", ValueType.UNKNOWN, DataType.UNKNOWN); @@ -73,28 +72,24 @@ public class CovarianceCPInstruction extends BinaryCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) + { MatrixBlock matBlock1 = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); - MatrixBlock matBlock2 = ec.getMatrixInput(input2.getName(), getExtendedOpcode()); + MatrixBlock matBlock2 = ec.getMatrixInput(input2.getName(), getExtendedOpcode()); String output_name = output.getName(); - COVOperator cov_op = (COVOperator)_optr; CM_COV_Object covobj = new CM_COV_Object(); - - if ( input3 == null ) - { + + if ( input3 == null ) { // Unweighted: cov.mvar0.mvar1.out covobj = matBlock1.covOperations(cov_op, matBlock2); ec.releaseMatrixInput(input1.getName(), getExtendedOpcode()); ec.releaseMatrixInput(input2.getName(), getExtendedOpcode()); } - else - { + else { // Weighted: cov.mvar0.mvar1.weights.out - MatrixBlock wtBlock = ec.getMatrixInput(input3.getName(), getExtendedOpcode()); + MatrixBlock wtBlock = ec.getMatrixInput(input3.getName(), getExtendedOpcode()); covobj = matBlock1.covOperations(cov_op, matBlock2, wtBlock); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/CtableCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/CtableCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/CtableCPInstruction.java index 0879b81..6811f99 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/CtableCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/CtableCPInstruction.java @@ -53,8 +53,7 @@ public class CtableCPInstruction extends ComputationCPInstruction { _ignoreZeros = ignoreZeros; } - public static CtableCPInstruction parseInstruction(String inst) - throws DMLRuntimeException + public static CtableCPInstruction parseInstruction(String inst) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(inst); InstructionUtils.checkNumFields ( parts, 7 ); @@ -91,9 +90,7 @@ public class CtableCPInstruction extends ComputationCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException { - + public void processInstruction(ExecutionContext ec) { MatrixBlock matBlock1 = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); MatrixBlock matBlock2=null, wtBlock=null; double cst1, cst2; http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/Data.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/Data.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/Data.java index 3b15b9e..ffc15be 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/Data.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/Data.java @@ -51,19 +51,19 @@ public abstract class Data implements Serializable return valueType; } - public void setMetaData(MetaData md) throws DMLRuntimeException { + public void setMetaData(MetaData md) { throw new DMLRuntimeException("This method in the base class should never be invoked."); } - public MetaData getMetaData() throws DMLRuntimeException { + public MetaData getMetaData() { throw new DMLRuntimeException("This method in the base class should never be invoked."); } - public void removeMetaData() throws DMLRuntimeException { + public void removeMetaData() { throw new DMLRuntimeException("This method in the base class should never be invoked."); } - public void updateMatrixCharacteristics(MatrixCharacteristics mc) throws DMLRuntimeException { + public void updateMatrixCharacteristics(MatrixCharacteristics mc) { throw new DMLRuntimeException("This method in the base class should never be invoked."); } } http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/DataGenCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/DataGenCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/DataGenCPInstruction.java index c7cf2bc..7e0d5c1 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/DataGenCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/DataGenCPInstruction.java @@ -122,8 +122,7 @@ public class DataGenCPInstruction extends UnaryCPInstruction { return sparsity; } - public static DataGenCPInstruction parseInstruction(String str) - throws DMLRuntimeException + public static DataGenCPInstruction parseInstruction(String str) { DataGenMethod method = DataGenMethod.INVALID; @@ -200,7 +199,6 @@ public class DataGenCPInstruction extends UnaryCPInstruction { @Override public void processInstruction( ExecutionContext ec ) - throws DMLRuntimeException { MatrixBlock soresBlock = null; @@ -259,7 +257,7 @@ public class DataGenCPInstruction extends UnaryCPInstruction { ec.setMatrixOutput(output.getName(), soresBlock, getExtendedOpcode()); } - private static void checkValidDimensions(long rows, long cols) throws DMLRuntimeException { + private static void checkValidDimensions(long rows, long cols) { //check valid for integer dimensions (we cannot even represent empty blocks with larger dimensions) if( rows > Integer.MAX_VALUE || cols > Integer.MAX_VALUE ) throw new DMLRuntimeException("DataGenCPInstruction does not " http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java index 50fad3b..e7caa68 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/DataPartitionCPInstruction.java @@ -46,17 +46,13 @@ public class DataPartitionCPInstruction extends UnaryCPInstruction { _pformat = pformat; } - public static DataPartitionCPInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static DataPartitionCPInstruction parseInstruction ( String str ) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(str); InstructionUtils.checkNumFields( parts, 3 ); - String opcode = parts[0]; CPOperand in1 = new CPOperand(parts[1]); CPOperand out = new CPOperand(parts[2]); PDataPartitionFormat pformat = PDataPartitionFormat.valueOf(parts[3]); - if(!opcode.equalsIgnoreCase("partition")) throw new DMLRuntimeException("Unknown opcode while parsing an DataPartitionCPInstruction: " + str); else @@ -64,9 +60,7 @@ public class DataPartitionCPInstruction extends UnaryCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { //get input MatrixObject moIn = ec.getMatrixObject(input1.getName()); MatrixBlock mb = moIn.acquireRead(); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/EvalNaryCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/EvalNaryCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/EvalNaryCPInstruction.java index 39f9755..02826ca 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/EvalNaryCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/EvalNaryCPInstruction.java @@ -42,7 +42,7 @@ public class EvalNaryCPInstruction extends BuiltinNaryCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) throws DMLRuntimeException { + public void processInstruction(ExecutionContext ec) { //1. get the namespace and func String funcName = ec.getScalarInput(inputs[0]).getStringValue(); if( funcName.contains(Program.KEY_DELIM) ) http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameAppendCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameAppendCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameAppendCPInstruction.java index 255dfd0..817b29b 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameAppendCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameAppendCPInstruction.java @@ -33,7 +33,6 @@ public final class FrameAppendCPInstruction extends AppendCPInstruction { @Override public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException { //get inputs FrameBlock fin1 = ec.getFrameInput(input1.getName()); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java index 967b168..7cd8848 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/FrameIndexingCPInstruction.java @@ -41,19 +41,16 @@ public final class FrameIndexingCPInstruction extends IndexingCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { String opcode = getOpcode(); IndexRange ixrange = getIndexRange(ec); //right indexing - if( opcode.equalsIgnoreCase(RightIndex.OPCODE) ) - { + if( opcode.equalsIgnoreCase(RightIndex.OPCODE) ) { //execute right indexing operation FrameBlock in = ec.getFrameInput(input1.getName()); - FrameBlock out = in.slice(ixrange, new FrameBlock()); - + FrameBlock out = in.slice(ixrange, new FrameBlock()); + //unpin rhs input ec.releaseFrameInput(input1.getName()); @@ -61,8 +58,7 @@ public final class FrameIndexingCPInstruction extends IndexingCPInstruction { ec.setFrameOutput(output.getName(), out); } //left indexing - else if ( opcode.equalsIgnoreCase(LeftIndex.OPCODE)) - { + else if ( opcode.equalsIgnoreCase(LeftIndex.OPCODE)) { FrameBlock lin = ec.getFrameInput(input1.getName()); FrameBlock out = null; http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java index eb44f81..588d2ff 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/FunctionCallCPInstruction.java @@ -63,9 +63,7 @@ public class FunctionCallCPInstruction extends CPInstruction { return _namespace; } - public static FunctionCallCPInstruction parseInstruction(String str) - throws DMLRuntimeException - { + public static FunctionCallCPInstruction parseInstruction(String str) { //schema: extfunct, fname, num inputs, num outputs, inputs, outputs String[] parts = InstructionUtils.getInstructionPartsWithValueType ( str ); String namespace = parts[1]; @@ -86,28 +84,20 @@ public class FunctionCallCPInstruction extends CPInstruction { } @Override - public Instruction preprocessInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public Instruction preprocessInstruction(ExecutionContext ec) { //default pre-process behavior Instruction tmp = super.preprocessInstruction(ec); - //maintain debug state (function call stack) - if( DMLScript.ENABLE_DEBUG_MODE ) { + if( DMLScript.ENABLE_DEBUG_MODE ) ec.handleDebugFunctionEntry((FunctionCallCPInstruction) tmp); - } - return tmp; } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { if( LOG.isTraceEnabled() ){ LOG.trace("Executing instruction : " + this.toString()); } - // get the function program block (stored in the Program object) FunctionProgramBlock fpb = ec.getProgram().getFunctionProgramBlock(_namespace, _functionName); @@ -206,14 +196,10 @@ public class FunctionCallCPInstruction extends CPInstruction { } @Override - public void postprocessInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void postprocessInstruction(ExecutionContext ec) { //maintain debug state (function call stack) - if (DMLScript.ENABLE_DEBUG_MODE ) { + if (DMLScript.ENABLE_DEBUG_MODE ) ec.handleDebugFunctionExit( this ); - } - //default post-process behavior super.postprocessInstruction(ec); } http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/IndexingCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/IndexingCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/IndexingCPInstruction.java index 20fd852..189631e 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/IndexingCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/IndexingCPInstruction.java @@ -50,17 +50,15 @@ public abstract class IndexingCPInstruction extends UnaryCPInstruction { colUpper = cu; } - protected IndexRange getIndexRange(ExecutionContext ec) throws DMLRuntimeException { + protected IndexRange getIndexRange(ExecutionContext ec) { return new IndexRange( //rl, ru, cl, ru (int)(ec.getScalarInput(rowLower.getName(), rowLower.getValueType(), rowLower.isLiteral()).getLongValue()-1), (int)(ec.getScalarInput(rowUpper.getName(), rowUpper.getValueType(), rowUpper.isLiteral()).getLongValue()-1), (int)(ec.getScalarInput(colLower.getName(), colLower.getValueType(), colLower.isLiteral()).getLongValue()-1), - (int)(ec.getScalarInput(colUpper.getName(), colUpper.getValueType(), colUpper.isLiteral()).getLongValue()-1)); + (int)(ec.getScalarInput(colUpper.getName(), colUpper.getValueType(), colUpper.isLiteral()).getLongValue()-1)); } - public static IndexingCPInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static IndexingCPInstruction parseInstruction ( String str ) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(str); String opcode = parts[0]; http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/MMChainCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/MMChainCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/MMChainCPInstruction.java index b69772b..711db31 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/MMChainCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/MMChainCPInstruction.java @@ -20,7 +20,6 @@ package org.apache.sysml.runtime.instructions.cp; import org.apache.sysml.lops.MapMultChain.ChainType; -import org.apache.sysml.runtime.DMLRuntimeException; import org.apache.sysml.runtime.controlprogram.context.ExecutionContext; import org.apache.sysml.runtime.instructions.InstructionUtils; import org.apache.sysml.runtime.matrix.data.MatrixBlock; @@ -38,9 +37,7 @@ public class MMChainCPInstruction extends UnaryCPInstruction { _numThreads = k; } - public static MMChainCPInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static MMChainCPInstruction parseInstruction ( String str ) { //parse instruction parts (without exec type) String[] parts = InstructionUtils.getInstructionPartsWithValueType( str ); InstructionUtils.checkNumFields( parts, 5, 6 ); @@ -69,18 +66,14 @@ public class MMChainCPInstruction extends UnaryCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { //get inputs MatrixBlock X = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); MatrixBlock v = ec.getMatrixInput(input2.getName(), getExtendedOpcode()); MatrixBlock w = (_type==ChainType.XtwXv || _type==ChainType.XtXvy) ? - ec.getMatrixInput(input3.getName(), getExtendedOpcode()) : null; - + ec.getMatrixInput(input3.getName(), getExtendedOpcode()) : null; //execute mmchain operation MatrixBlock out = (MatrixBlock) X.chainMatrixMultOperations(v, w, new MatrixBlock(), _type, _numThreads); - //set output and release inputs ec.setMatrixOutput(output.getName(), out, getExtendedOpcode()); ec.releaseMatrixInput(input1.getName(), getExtendedOpcode()); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/MMTSJCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/MMTSJCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/MMTSJCPInstruction.java index edd420a..090d478 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/MMTSJCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/MMTSJCPInstruction.java @@ -37,9 +37,7 @@ public class MMTSJCPInstruction extends UnaryCPInstruction { _numThreads = k; } - public static MMTSJCPInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static MMTSJCPInstruction parseInstruction ( String str ) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(str); InstructionUtils.checkNumFields ( parts, 4 ); @@ -56,9 +54,7 @@ public class MMTSJCPInstruction extends UnaryCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { //get inputs MatrixBlock matBlock1 = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixAppendCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixAppendCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixAppendCPInstruction.java index 420535b..ae6a0e0 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixAppendCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixAppendCPInstruction.java @@ -32,13 +32,10 @@ public final class MatrixAppendCPInstruction extends AppendCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { //get inputs MatrixBlock matBlock1 = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); MatrixBlock matBlock2 = ec.getMatrixInput(input2.getName(), getExtendedOpcode()); - //check input dimensions if( _type == AppendType.CBIND && matBlock1.getNumRows() != matBlock2.getNumRows() ) { throw new DMLRuntimeException("Append-cbind is not possible for input matrices " + input1.getName() + " and " + input2.getName() @@ -47,11 +44,9 @@ public final class MatrixAppendCPInstruction extends AppendCPInstruction { else if( _type == AppendType.RBIND && matBlock1.getNumColumns() != matBlock2.getNumColumns()) { throw new DMLRuntimeException("Append-rbind is not possible for input matrices " + input1.getName() + " and " + input2.getName() + " with different number of columns: "+matBlock1.getNumColumns()+" vs "+matBlock2.getNumColumns()); - } - + } //execute append operations (append both inputs to initially empty output) MatrixBlock ret = matBlock1.append(matBlock2, new MatrixBlock(), _type==AppendType.CBIND); - //set output and release inputs ec.setMatrixOutput(output.getName(), ret, getExtendedOpcode()); ec.releaseMatrixInput(input1.getName(), getExtendedOpcode()); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.java index 4e4fb95..3f16447 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixBuiltinNaryCPInstruction.java @@ -31,7 +31,7 @@ public class MatrixBuiltinNaryCPInstruction extends BuiltinNaryCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) throws DMLRuntimeException { + public void processInstruction(ExecutionContext ec) { //pin input matrix blocks MatrixBlock in1 = ec.getMatrixInput(inputs[0].getName()); MatrixBlock[] in2 = new MatrixBlock[inputs.length-1]; http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixIndexingCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixIndexingCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixIndexingCPInstruction.java index 2eeade3..10a10d5 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixIndexingCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixIndexingCPInstruction.java @@ -46,9 +46,7 @@ public final class MatrixIndexingCPInstruction extends IndexingCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { String opcode = getOpcode(); IndexRange ixrange = getIndexRange(ec); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixReshapeCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixReshapeCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixReshapeCPInstruction.java index d13f97c..cd8d5dc 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixReshapeCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/MatrixReshapeCPInstruction.java @@ -41,19 +41,15 @@ public class MatrixReshapeCPInstruction extends UnaryCPInstruction { _opByRow = in4; } - public static MatrixReshapeCPInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static MatrixReshapeCPInstruction parseInstruction ( String str ) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(str); InstructionUtils.checkNumFields( parts, 5 ); - String opcode = parts[0]; CPOperand in1 = new CPOperand(parts[1]); CPOperand in2 = new CPOperand(parts[2]); CPOperand in3 = new CPOperand(parts[3]); CPOperand in4 = new CPOperand(parts[4]); CPOperand out = new CPOperand(parts[5]); - if(!opcode.equalsIgnoreCase("rshape")) throw new DMLRuntimeException("Unknown opcode while parsing an MatrixReshapeInstruction: " + str); else @@ -61,9 +57,7 @@ public class MatrixReshapeCPInstruction extends UnaryCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { //get inputs MatrixBlock in = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); int rows = (int)ec.getScalarInput(_opRows.getName(), _opRows.getValueType(), _opRows.isLiteral()).getLongValue(); //save cast http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.java index 343a821..2aa04d8 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnBuiltinCPInstruction.java @@ -45,9 +45,7 @@ public class MultiReturnBuiltinCPInstruction extends ComputationCPInstruction { return _outputs.get(i); } - public static MultiReturnBuiltinCPInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static MultiReturnBuiltinCPInstruction parseInstruction ( String str ) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(str); ArrayList<CPOperand> outputs = new ArrayList<>(); // first part is always the opcode @@ -99,9 +97,7 @@ public class MultiReturnBuiltinCPInstruction extends ComputationCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { String opcode = getOpcode(); MatrixObject mo = ec.getMatrixObject(input1.getName()); MatrixBlock[] out = null; http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.java index c4f61bb..8afa9d7 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/MultiReturnParameterizedBuiltinCPInstruction.java @@ -45,9 +45,7 @@ public class MultiReturnParameterizedBuiltinCPInstruction extends ComputationCPI return _outputs.get(i); } - public static MultiReturnParameterizedBuiltinCPInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static MultiReturnParameterizedBuiltinCPInstruction parseInstruction ( String str ) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(str); ArrayList<CPOperand> outputs = new ArrayList<>(); String opcode = parts[0]; @@ -67,9 +65,7 @@ public class MultiReturnParameterizedBuiltinCPInstruction extends ComputationCPI } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { //obtain and pin input frame FrameBlock fin = ec.getFrameInput(input1.getName()); String spec = ec.getScalarInput(input2.getName(), input2.getValueType(), input2.isLiteral()).getStringValue(); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/PMMJCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/PMMJCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/PMMJCPInstruction.java index bb0cb2a..93742dd 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/PMMJCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/PMMJCPInstruction.java @@ -35,19 +35,15 @@ public class PMMJCPInstruction extends ComputationCPInstruction { _numThreads = k; } - public static PMMJCPInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static PMMJCPInstruction parseInstruction ( String str ) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(str); InstructionUtils.checkNumFields ( parts, 5 ); - String opcode = parts[0]; CPOperand in1 = new CPOperand(parts[1]); CPOperand in2 = new CPOperand(parts[2]); CPOperand in3 = new CPOperand(parts[3]); CPOperand out = new CPOperand(parts[4]); int k = Integer.parseInt(parts[5]); - if(!opcode.equalsIgnoreCase("pmm")) throw new DMLRuntimeException("Unknown opcode while parsing an PMMJCPInstruction: " + str); else @@ -55,18 +51,14 @@ public class PMMJCPInstruction extends ComputationCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { //get inputs MatrixBlock matBlock1 = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); MatrixBlock matBlock2 = ec.getMatrixInput(input2.getName(), getExtendedOpcode()); int rlen = (int)ec.getScalarInput(input3.getName(), input3.getValueType(), input3.isLiteral()).getLongValue(); - //execute operations MatrixBlock ret = new MatrixBlock(rlen, matBlock2.getNumColumns(), matBlock2.isInSparseFormat()); matBlock1.permutationMatrixMultOperations(matBlock2, ret, null, _numThreads); - //set output and release inputs ec.setMatrixOutput(output.getName(), ret, getExtendedOpcode()); ec.releaseMatrixInput(input1.getName(), getExtendedOpcode()); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java index f7a491e..c5909ac 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ParameterizedBuiltinCPInstruction.java @@ -85,9 +85,7 @@ public class ParameterizedBuiltinCPInstruction extends ComputationCPInstruction return paramMap; } - public static ParameterizedBuiltinCPInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static ParameterizedBuiltinCPInstruction parseInstruction ( String str ) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(str); // first part is always the opcode String opcode = parts[0]; @@ -151,13 +149,9 @@ public class ParameterizedBuiltinCPInstruction extends ComputationCPInstruction } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { - + public void processInstruction(ExecutionContext ec) { String opcode = getOpcode(); ScalarObject sores = null; - if ( opcode.equalsIgnoreCase("cdf")) { SimpleOperator op = (SimpleOperator) _optr; double result = op.fn.execute(params); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/QuantilePickCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/QuantilePickCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/QuantilePickCPInstruction.java index 2950a1c..62ebfe1 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/QuantilePickCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/QuantilePickCPInstruction.java @@ -51,20 +51,13 @@ public class QuantilePickCPInstruction extends BinaryCPInstruction { _inmem = inmem; } - public static QuantilePickCPInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static QuantilePickCPInstruction parseInstruction ( String str ) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(str); String opcode = parts[0]; - - //sanity check opcode - if ( !opcode.equalsIgnoreCase("qpick") ) { + if ( !opcode.equalsIgnoreCase("qpick") ) throw new DMLRuntimeException("Unknown opcode while parsing a QuantilePickCPInstruction: " + str); - } - //instruction parsing - if( parts.length == 4 ) - { + if( parts.length == 4 ) { //instructions of length 4 originate from unary - mr-iqm //TODO this should be refactored to use pickvaluecount lops CPOperand in1 = new CPOperand(parts[1]); @@ -72,18 +65,16 @@ public class QuantilePickCPInstruction extends BinaryCPInstruction { CPOperand out = new CPOperand(parts[3]); OperationTypes ptype = OperationTypes.IQM; boolean inmem = false; - return new QuantilePickCPInstruction(null, in1, in2, out, ptype, inmem, opcode, str); + return new QuantilePickCPInstruction(null, in1, in2, out, ptype, inmem, opcode, str); } - else if( parts.length == 5 ) - { + else if( parts.length == 5 ) { CPOperand in1 = new CPOperand(parts[1]); CPOperand out = new CPOperand(parts[2]); OperationTypes ptype = OperationTypes.valueOf(parts[3]); boolean inmem = Boolean.parseBoolean(parts[4]); return new QuantilePickCPInstruction(null, in1, out, ptype, inmem, opcode, str); } - else if( parts.length == 6 ) - { + else if( parts.length == 6 ) { CPOperand in1 = new CPOperand(parts[1]); CPOperand in2 = new CPOperand(parts[2]); CPOperand out = new CPOperand(parts[3]); @@ -91,14 +82,11 @@ public class QuantilePickCPInstruction extends BinaryCPInstruction { boolean inmem = Boolean.parseBoolean(parts[5]); return new QuantilePickCPInstruction(null, in1, in2, out, ptype, inmem, opcode, str); } - return null; } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { switch( _type ) { case VALUEPICK: @@ -118,7 +106,7 @@ public class QuantilePickCPInstruction extends BinaryCPInstruction { ec.releaseMatrixInput(input2.getName(), getExtendedOpcode()); ec.setMatrixOutput(output.getName(), resultBlock, getExtendedOpcode()); } - ec.releaseMatrixInput(input1.getName(), getExtendedOpcode()); + ec.releaseMatrixInput(input1.getName(), getExtendedOpcode()); } else //MR VALUEPICK { @@ -138,7 +126,7 @@ public class QuantilePickCPInstruction extends BinaryCPInstruction { else { throw new DMLRuntimeException("Unexpected error while executing ValuePickCP: otherMetaData for file (" + fname + ") not found." ); } - } + } break; case MEDIAN: http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/QuantileSortCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/QuantileSortCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/QuantileSortCPInstruction.java index b7a5254..bf7e3e4 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/QuantileSortCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/QuantileSortCPInstruction.java @@ -48,9 +48,7 @@ public class QuantileSortCPInstruction extends UnaryCPInstruction { super(CPType.QSort, op, in1, in2, out, opcode, istr); } - public static QuantileSortCPInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static QuantileSortCPInstruction parseInstruction ( String str ) { CPOperand in1 = new CPOperand("", ValueType.UNKNOWN, DataType.UNKNOWN); CPOperand in2 = null; CPOperand out = new CPOperand("", ValueType.UNKNOWN, DataType.UNKNOWN); @@ -80,9 +78,7 @@ public class QuantileSortCPInstruction extends UnaryCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { //acquire inputs matrices MatrixBlock matBlock = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); MatrixBlock wtBlock = null; http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/QuaternaryCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/QuaternaryCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/QuaternaryCPInstruction.java index ce6dd47..85d2422 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/QuaternaryCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/QuaternaryCPInstruction.java @@ -44,9 +44,7 @@ public class QuaternaryCPInstruction extends ComputationCPInstruction { _numThreads = k; } - public static QuaternaryCPInstruction parseInstruction(String inst) - throws DMLRuntimeException - { + public static QuaternaryCPInstruction parseInstruction(String inst) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(inst); String opcode = parts[0]; @@ -100,9 +98,7 @@ public class QuaternaryCPInstruction extends ComputationCPInstruction { @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { QuaternaryOperator qop = (QuaternaryOperator) _optr; MatrixBlock matBlock1 = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/ReorgCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ReorgCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ReorgCPInstruction.java index 96b4644..af4c12e 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ReorgCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ReorgCPInstruction.java @@ -85,9 +85,7 @@ public class ReorgCPInstruction extends UnaryCPInstruction { _ixret = ixret; } - public static ReorgCPInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static ReorgCPInstruction parseInstruction ( String str ) { CPOperand in = new CPOperand("", ValueType.UNKNOWN, DataType.UNKNOWN); CPOperand out = new CPOperand("", ValueType.UNKNOWN, DataType.UNKNOWN); @@ -125,9 +123,7 @@ public class ReorgCPInstruction extends UnaryCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { //acquire inputs MatrixBlock matBlock = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); ReorgOperator r_op = (ReorgOperator) _optr; http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarAppendCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarAppendCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarAppendCPInstruction.java index cbcf7e2..85e290b 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarAppendCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarAppendCPInstruction.java @@ -19,7 +19,6 @@ package org.apache.sysml.runtime.instructions.cp; -import org.apache.sysml.runtime.DMLRuntimeException; import org.apache.sysml.runtime.controlprogram.context.ExecutionContext; import org.apache.sysml.runtime.matrix.operators.Operator; @@ -31,25 +30,18 @@ public final class ScalarAppendCPInstruction extends AppendCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { - //Append type: STRING - + public void processInstruction(ExecutionContext ec) { //get input strings (vars or literals) ScalarObject so1 = ec.getScalarInput( input1.getName(), input1.getValueType(), input1.isLiteral() ); ScalarObject so2 = ec.getScalarInput( input2.getName(), input2.getValueType(), input2.isLiteral() ); - //pre-checks String val1 = so1.getStringValue(); String val2 = so2.getStringValue(); StringObject.checkMaxStringLength( val1.length()+val2.length() ); - //core execution - String outString = val1 + "\n" + val2; + String outString = val1 + "\n" + val2; ScalarObject sores = new StringObject(outString); - //set output - ec.setScalarOutput(output.getName(), sores); + ec.setScalarOutput(output.getName(), sores); } } http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.java index 04408a8..85eec77 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/ScalarBuiltinNaryCPInstruction.java @@ -43,7 +43,7 @@ public class ScalarBuiltinNaryCPInstruction extends BuiltinNaryCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) throws DMLRuntimeException { + public void processInstruction(ExecutionContext ec) { if (Nary.OperationType.PRINTF.toString().equalsIgnoreCase(getOpcode())) { List<ScalarObject> scalarObjects = new ArrayList<>(); for (CPOperand input : inputs) { http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/SpoofCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/SpoofCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/SpoofCPInstruction.java index 16ab1a4..76c6b02 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/SpoofCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/SpoofCPInstruction.java @@ -22,7 +22,6 @@ package org.apache.sysml.runtime.instructions.cp; import java.util.ArrayList; import org.apache.sysml.parser.Expression.DataType; -import org.apache.sysml.runtime.DMLRuntimeException; import org.apache.sysml.runtime.codegen.CodegenUtils; import org.apache.sysml.runtime.codegen.SpoofOperator; import org.apache.sysml.runtime.controlprogram.context.ExecutionContext; @@ -48,9 +47,7 @@ public class SpoofCPInstruction extends ComputationCPInstruction { return _class; } - public static SpoofCPInstruction parseInstruction(String str) - throws DMLRuntimeException - { + public static SpoofCPInstruction parseInstruction(String str) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(str); ArrayList<CPOperand> inlist = new ArrayList<>(); @@ -67,9 +64,7 @@ public class SpoofCPInstruction extends ComputationCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { //get input matrices and scalars, incl pinning of matrices ArrayList<MatrixBlock> inputs = new ArrayList<>(); ArrayList<ScalarObject> scalars = new ArrayList<>(); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/StringInitCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/StringInitCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/StringInitCPInstruction.java index 93e02b9..2e82ab2 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/StringInitCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/StringInitCPInstruction.java @@ -52,32 +52,24 @@ public class StringInitCPInstruction extends UnaryCPInstruction { return _clen; } - public static StringInitCPInstruction parseInstruction(String str) - throws DMLRuntimeException - { + public static StringInitCPInstruction parseInstruction(String str) { String opcode = InstructionUtils.getOpCode(str); if( !opcode.equals(DataGen.SINIT_OPCODE) ) throw new DMLRuntimeException("Unsupported opcode: "+opcode); - //parse instruction String[] s = InstructionUtils.getInstructionPartsWithValueType ( str ); InstructionUtils.checkNumFields( s, 6 ); - CPOperand out = new CPOperand(s[s.length-1]); // output is specified by the last operand - long rows = (s[1].contains( Lop.VARIABLE_NAME_PLACEHOLDER)?-1:Double.valueOf(s[1]).longValue()); long cols = (s[2].contains( Lop.VARIABLE_NAME_PLACEHOLDER)?-1:Double.valueOf(s[2]).longValue()); - int rpb = Integer.parseInt(s[3]); + int rpb = Integer.parseInt(s[3]); int cpb = Integer.parseInt(s[4]); String data = s[5]; - return new StringInitCPInstruction(null, null, out, rows, cols, rpb, cpb, data, opcode, str); } @Override - public void processInstruction( ExecutionContext ec ) - throws DMLRuntimeException - { + public void processInstruction( ExecutionContext ec ) { //setup output matrix String outName = output.getName(); MatrixBlock outBlk = new MatrixBlock((int)_rlen, (int)_clen, false); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/StringObject.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/StringObject.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/StringObject.java index e099a3c..b228220 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/StringObject.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/StringObject.java @@ -60,9 +60,7 @@ public class StringObject extends ScalarObject return _value; } - public static void checkMaxStringLength( long len ) - throws DMLRuntimeException - { + public static void checkMaxStringLength( long len ) { if( len > MAX_STRING_SIZE ) { throw new DMLRuntimeException("Output string length exceeds maximum " + "scalar string length ("+len+" > "+MAX_STRING_SIZE+")."); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/TernaryCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/TernaryCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/TernaryCPInstruction.java index 4f8aeb0..8823296 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/TernaryCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/TernaryCPInstruction.java @@ -19,7 +19,6 @@ package org.apache.sysml.runtime.instructions.cp; -import org.apache.sysml.runtime.DMLRuntimeException; import org.apache.sysml.runtime.controlprogram.context.ExecutionContext; import org.apache.sysml.runtime.instructions.InstructionUtils; import org.apache.sysml.runtime.matrix.data.MatrixBlock; @@ -44,9 +43,7 @@ public class TernaryCPInstruction extends ComputationCPInstruction { } @Override - public void processInstruction( ExecutionContext ec ) - throws DMLRuntimeException - { + public void processInstruction( ExecutionContext ec ) { if( input1.isMatrix() || input2.isMatrix() || input3.isMatrix() ) { //get all inputs as matrix blocks http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/UaggOuterChainCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/UaggOuterChainCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/UaggOuterChainCPInstruction.java index d6fb334..908e5bd 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/UaggOuterChainCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/UaggOuterChainCPInstruction.java @@ -43,9 +43,7 @@ public class UaggOuterChainCPInstruction extends UnaryCPInstruction { _bOp = bop; } - public static UaggOuterChainCPInstruction parseInstruction(String str) - throws DMLRuntimeException - { + public static UaggOuterChainCPInstruction parseInstruction(String str) { String parts[] = InstructionUtils.getInstructionPartsWithValueType(str); String opcode = parts[0]; @@ -72,9 +70,7 @@ public class UaggOuterChainCPInstruction extends UnaryCPInstruction { @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { boolean rightCached = (_uaggOp.indexFn instanceof ReduceCol || _uaggOp.indexFn instanceof ReduceAll || !LibMatrixOuterAgg.isSupportedUaggOp(_uaggOp, _bOp)); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryCPInstruction.java index fa9200f..07be2a7 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryCPInstruction.java @@ -47,9 +47,7 @@ public abstract class UnaryCPInstruction extends ComputationCPInstruction { super(type, op, in1, in2, in3, out, opcode, instr); } - public static UnaryCPInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static UnaryCPInstruction parseInstruction ( String str ) { CPOperand in = new CPOperand("", ValueType.UNKNOWN, DataType.UNKNOWN); CPOperand out = new CPOperand("", ValueType.UNKNOWN, DataType.UNKNOWN); @@ -82,25 +80,22 @@ public abstract class UnaryCPInstruction extends ComputationCPInstruction { return null; } - static String parseUnaryInstruction(String instr, CPOperand in, - CPOperand out) throws DMLRuntimeException { + static String parseUnaryInstruction(String instr, CPOperand in, CPOperand out) { InstructionUtils.checkNumFields(instr, 2); return parse(instr, in, null, null, out); } - static String parseUnaryInstruction(String instr, CPOperand in1, - CPOperand in2, CPOperand out) throws DMLRuntimeException { + static String parseUnaryInstruction(String instr, CPOperand in1, CPOperand in2, CPOperand out) { InstructionUtils.checkNumFields(instr, 3); return parse(instr, in1, in2, null, out); } - static String parseUnaryInstruction(String instr, CPOperand in1, - CPOperand in2, CPOperand in3, CPOperand out) throws DMLRuntimeException { + static String parseUnaryInstruction(String instr, CPOperand in1, CPOperand in2, CPOperand in3, CPOperand out) { InstructionUtils.checkNumFields(instr, 4); return parse(instr, in1, in2, in3, out); } - private static String parse(String instr, CPOperand in1, CPOperand in2, CPOperand in3, CPOperand out) throws DMLRuntimeException { + private static String parse(String instr, CPOperand in1, CPOperand in2, CPOperand in3, CPOperand out) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(instr); // first part is the opcode, last part is the output, middle parts are input operands http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryMatrixCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryMatrixCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryMatrixCPInstruction.java index e57d0e6..2855246 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryMatrixCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryMatrixCPInstruction.java @@ -19,7 +19,6 @@ package org.apache.sysml.runtime.instructions.cp; -import org.apache.sysml.runtime.DMLRuntimeException; import org.apache.sysml.runtime.controlprogram.context.ExecutionContext; import org.apache.sysml.runtime.matrix.data.LibCommonsMath; import org.apache.sysml.runtime.matrix.data.MatrixBlock; @@ -32,11 +31,8 @@ public class UnaryMatrixCPInstruction extends UnaryCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { String output_name = output.getName(); - String opcode = getOpcode(); if(LibCommonsMath.isSupportedUnaryOperation(opcode)) { MatrixBlock retBlock = LibCommonsMath.unaryOperations(ec.getMatrixObject(input1.getName()),getOpcode()); @@ -46,14 +42,10 @@ public class UnaryMatrixCPInstruction extends UnaryCPInstruction { UnaryOperator u_op = (UnaryOperator) _optr; MatrixBlock inBlock = ec.getMatrixInput(input1.getName(), getExtendedOpcode()); MatrixBlock retBlock = (MatrixBlock) (inBlock.unaryOperations(u_op, new MatrixBlock())); - ec.releaseMatrixInput(input1.getName(), getExtendedOpcode()); - // Ensure right dense/sparse output representation (guarded by released input memory) - if( checkGuardedRepresentationChange(inBlock, retBlock) ) { + if( checkGuardedRepresentationChange(inBlock, retBlock) ) retBlock.examSparsity(); - } - ec.setMatrixOutput(output_name, retBlock, getExtendedOpcode()); } } http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryScalarCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryScalarCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryScalarCPInstruction.java index fd15b80..2773084 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryScalarCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/UnaryScalarCPInstruction.java @@ -21,7 +21,6 @@ package org.apache.sysml.runtime.instructions.cp; import org.apache.sysml.api.DMLScript; import org.apache.sysml.parser.Expression.ValueType; -import org.apache.sysml.runtime.DMLRuntimeException; import org.apache.sysml.runtime.DMLScriptException; import org.apache.sysml.runtime.controlprogram.context.ExecutionContext; import org.apache.sysml.runtime.matrix.operators.Operator; @@ -34,9 +33,7 @@ public class UnaryScalarCPInstruction extends UnaryMatrixCPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { String opcode = getOpcode(); ScalarObject sores = null; ScalarObject so = null; http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java index 9e81b50..99292ec 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cp/VariableCPInstruction.java @@ -148,7 +148,7 @@ public class VariableCPInstruction extends CPInstruction { this(op, in1, in2, in3, null, md, formatProperties, schema, updateType, sopcode, istr); } - private static VariableOperationCode getVariableOperationCode ( String str ) throws DMLRuntimeException { + private static VariableOperationCode getVariableOperationCode ( String str ) { if ( str.equalsIgnoreCase("createvar")) return VariableOperationCode.CreateVariable; @@ -279,9 +279,7 @@ public class VariableCPInstruction extends CPInstruction { } } - public static VariableCPInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static VariableCPInstruction parseInstruction ( String str ) { String[] parts = InstructionUtils.getInstructionPartsWithValueType ( str ); String opcode = parts[0]; VariableOperationCode voc = getVariableOperationCode(opcode); @@ -467,9 +465,7 @@ public class VariableCPInstruction extends CPInstruction { } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { switch ( opcode ) { case CreateVariable: @@ -682,10 +678,9 @@ public class VariableCPInstruction extends CPInstruction { * Currently, applicable only when format=binaryblock. * * @param ec execution context - * @throws DMLRuntimeException if DMLRuntimeException occurs */ @SuppressWarnings("rawtypes") - private void processMoveInstruction(ExecutionContext ec) throws DMLRuntimeException { + private void processMoveInstruction(ExecutionContext ec) { if ( getInput3() == null ) { // example: mvvar tempA A @@ -741,11 +736,10 @@ public class VariableCPInstruction extends CPInstruction { * Example: cpvar <srcvar> <destvar> * * @param ec execution context - * @throws DMLRuntimeException if DMLRuntimeException occurs */ - private void processCopyInstruction(ExecutionContext ec) throws DMLRuntimeException { + private void processCopyInstruction(ExecutionContext ec) { // get source variable - Data dd = ec.getVariable(getInput1().getName()); + Data dd = ec.getVariable(getInput1().getName()); if ( dd == null ) throw new DMLRuntimeException("Unexpected error: could not find a data object for variable name:" + getInput1().getName() + ", while processing instruction " +this.toString()); @@ -770,11 +764,8 @@ public class VariableCPInstruction extends CPInstruction { * the format given by the corresponding symbol table entry. * * @param ec execution context - * @throws DMLRuntimeException if DMLRuntimeException occurs */ - private void processWriteInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + private void processWriteInstruction(ExecutionContext ec) { //get filename (literal or variable expression) String fname = ec.getScalarInput(getInput2().getName(), ValueType.STRING, getInput2().isLiteral()).getStringValue(); String desc = ec.getScalarInput(getInput4().getName(), ValueType.STRING, getInput4().isLiteral()).getStringValue(); @@ -808,17 +799,12 @@ public class VariableCPInstruction extends CPInstruction { * * @param ec execution context * @param varname variable name - * @throws DMLRuntimeException if DMLRuntimeException occurs */ - public static void processRemoveVariableInstruction( ExecutionContext ec, String varname ) - throws DMLRuntimeException - { + public static void processRemoveVariableInstruction( ExecutionContext ec, String varname ) { // remove variable from symbol table Data input1_data = ec.removeVariable(varname); - if ( input1_data == null ) throw new DMLRuntimeException("Unexpected error: could not find a data object for variable name:" + varname + ", while processing rmvar instruction."); - //cleanup matrix data on fs/hdfs (if necessary) if ( input1_data instanceof CacheableData ) { ec.cleanupCacheableData( (CacheableData<?>) input1_data ); @@ -830,11 +816,8 @@ public class VariableCPInstruction extends CPInstruction { * * @param ec execution context * @param fname file name - * @throws DMLRuntimeException if DMLRuntimeException occurs */ - private void writeCSVFile(ExecutionContext ec, String fname) - throws DMLRuntimeException - { + private void writeCSVFile(ExecutionContext ec, String fname) { MatrixObject mo = ec.getMatrixObject(getInput1().getName()); String outFmt = "csv"; @@ -871,11 +854,8 @@ public class VariableCPInstruction extends CPInstruction { * * @param ec execution context * @param fname file name - * @throws DMLRuntimeException if DMLRuntimeException occurs */ - private void writeMMFile(ExecutionContext ec, String fname) - throws DMLRuntimeException - { + private void writeMMFile(ExecutionContext ec, String fname) { MatrixObject mo = ec.getMatrixObject(getInput1().getName()); String outFmt = "matrixmarket"; if(mo.isDirty()) { @@ -907,11 +887,8 @@ public class VariableCPInstruction extends CPInstruction { * * @param ec execution context * @param fname file name - * @throws DMLRuntimeException if DMLRuntimeException occurs */ - private void writeScalarToHDFS(ExecutionContext ec, String fname) - throws DMLRuntimeException - { + private void writeScalarToHDFS(ExecutionContext ec, String fname) { try { ScalarObject scalar = ec.getScalarInput(getInput1().getName(), getInput1().getValueType(), getInput1().isLiteral()); @@ -929,9 +906,7 @@ public class VariableCPInstruction extends CPInstruction { } } - private static void cleanDataOnHDFS(MatrixObject mo) - throws DMLRuntimeException - { + private static void cleanDataOnHDFS(MatrixObject mo) { try { String fpath = mo.getFileName(); if (fpath != null) { @@ -952,17 +927,10 @@ public class VariableCPInstruction extends CPInstruction { sb.append(Lop.OPERAND_DELIMITOR); sb.append(varName); } - String str = sb.toString(); - - try { - return parseInstruction(str); - } - catch (DMLRuntimeException ex) { - throw new RuntimeException(ex); - } + return parseInstruction(sb.toString()); } - public static Instruction prepareCopyInstruction(String srcVar, String destVar) throws DMLRuntimeException { + public static Instruction prepareCopyInstruction(String srcVar, String destVar) { StringBuilder sb = new StringBuilder(); sb.append("CP"); sb.append(Lop.OPERAND_DELIMITOR); @@ -971,12 +939,10 @@ public class VariableCPInstruction extends CPInstruction { sb.append(srcVar); sb.append(Lop.OPERAND_DELIMITOR); sb.append(destVar); - String str = sb.toString(); - - return parseInstruction(str); + return parseInstruction(sb.toString()); } - public static Instruction prepareMoveInstruction(String srcVar, String destFileName, String format) throws DMLRuntimeException { + public static Instruction prepareMoveInstruction(String srcVar, String destFileName, String format) { StringBuilder sb = new StringBuilder(); sb.append("CP"); sb.append(Lop.OPERAND_DELIMITOR); @@ -988,11 +954,10 @@ public class VariableCPInstruction extends CPInstruction { sb.append(Lop.OPERAND_DELIMITOR); sb.append(format); String str = sb.toString(); - return parseInstruction(str); } - public static Instruction prepareMoveInstruction(String srcVar, String destVar) throws DMLRuntimeException { + public static Instruction prepareMoveInstruction(String srcVar, String destVar) { // example: mvvar tempA A StringBuilder sb = new StringBuilder(); sb.append("CP"); @@ -1003,7 +968,6 @@ public class VariableCPInstruction extends CPInstruction { sb.append(Lop.OPERAND_DELIMITOR); sb.append(destVar); String str = sb.toString(); - return parseInstruction(str); } @@ -1031,11 +995,11 @@ public class VariableCPInstruction extends CPInstruction { return sb.toString(); } - public static Instruction prepareCreateMatrixVariableInstruction(String varName, String fileName, boolean fNameOverride, String format) throws DMLRuntimeException { + public static Instruction prepareCreateMatrixVariableInstruction(String varName, String fileName, boolean fNameOverride, String format) { return parseInstruction(getBasicCreateVarString(varName, fileName, fNameOverride, DataType.MATRIX, format)); } - public static Instruction prepareCreateVariableInstruction(String varName, String fileName, boolean fNameOverride, DataType dt, String format, MatrixCharacteristics mc, UpdateType update) throws DMLRuntimeException { + public static Instruction prepareCreateVariableInstruction(String varName, String fileName, boolean fNameOverride, DataType dt, String format, MatrixCharacteristics mc, UpdateType update) { StringBuilder sb = new StringBuilder(); sb.append(getBasicCreateVarString(varName, fileName, fNameOverride, dt, format)); @@ -1057,7 +1021,7 @@ public class VariableCPInstruction extends CPInstruction { return parseInstruction(str); } - public static Instruction prepareCreateVariableInstruction(String varName, String fileName, boolean fNameOverride, DataType dt, String format, MatrixCharacteristics mc, UpdateType update, boolean hasHeader, String delim, boolean sparse) throws DMLRuntimeException { + public static Instruction prepareCreateVariableInstruction(String varName, String fileName, boolean fNameOverride, DataType dt, String format, MatrixCharacteristics mc, UpdateType update, boolean hasHeader, String delim, boolean sparse) { StringBuilder sb = new StringBuilder(); sb.append(getBasicCreateVarString(varName, fileName, fNameOverride, dt, format)); @@ -1087,9 +1051,7 @@ public class VariableCPInstruction extends CPInstruction { } @Override - public void updateInstructionThreadID(String pattern, String replace) - throws DMLRuntimeException - { + public void updateInstructionThreadID(String pattern, String replace) { if( opcode == VariableOperationCode.CreateVariable || opcode == VariableOperationCode.SetFileName ) { http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.java index 6ebdbf6..4503553 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cpfile/MatrixIndexingCPFileInstruction.java @@ -50,9 +50,7 @@ public final class MatrixIndexingCPFileInstruction extends IndexingCPInstruction super(op, in, rl, ru, cl, cu, out, opcode, istr); } - public static MatrixIndexingCPFileInstruction parseInstruction ( String str ) - throws DMLRuntimeException - { + public static MatrixIndexingCPFileInstruction parseInstruction ( String str ) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(str); String opcode = parts[0]; @@ -82,9 +80,7 @@ public final class MatrixIndexingCPFileInstruction extends IndexingCPInstruction } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { String opcode = getOpcode(); IndexRange ixrange = getIndexRange(ec).add(1); MatrixObject mo = ec.getMatrixObject(input1.getName()); http://git-wip-us.apache.org/repos/asf/systemml/blob/1f323976/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java b/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java index f656216..f9596b0 100644 --- a/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java +++ b/src/main/java/org/apache/sysml/runtime/instructions/cpfile/ParameterizedBuiltinCPFileInstruction.java @@ -80,9 +80,7 @@ public class ParameterizedBuiltinCPFileInstruction extends ParameterizedBuiltinC super(op, paramsMap, out, opcode, istr); } - public static ParameterizedBuiltinCPFileInstruction parseInstruction( String str ) - throws DMLRuntimeException - { + public static ParameterizedBuiltinCPFileInstruction parseInstruction( String str ) { String[] parts = InstructionUtils.getInstructionPartsWithValueType(str); // first part is always the opcode String opcode = parts[0]; @@ -104,9 +102,7 @@ public class ParameterizedBuiltinCPFileInstruction extends ParameterizedBuiltinC } @Override - public void processInstruction(ExecutionContext ec) - throws DMLRuntimeException - { + public void processInstruction(ExecutionContext ec) { String opcode = getOpcode(); if ( opcode.equalsIgnoreCase("rmempty") ) @@ -149,12 +145,7 @@ public class ParameterizedBuiltinCPFileInstruction extends ParameterizedBuiltinC _out = out; } - public MatrixObject execute() - throws DMLRuntimeException - { - //Timing time = new Timing(); - //time.start(); - + public MatrixObject execute() { //initial setup String fnameOld = _src.getFileName(); String fnameNew = _out.getFileName(); @@ -212,9 +203,7 @@ public class ParameterizedBuiltinCPFileInstruction extends ParameterizedBuiltinC return createNewOutputObject(_src, _out, mc.getRows(), ret ); } - private static MatrixObject createNewOutputObject( MatrixObject src, MatrixObject out, long rows, long cols ) - throws DMLRuntimeException - { + private static MatrixObject createNewOutputObject( MatrixObject src, MatrixObject out, long rows, long cols ) { String fName = out.getFileName(); MetaDataFormat metadata = (MetaDataFormat) src.getMetaData(); MatrixObject moNew = new MatrixObject(src.getValueType(), fName); @@ -348,11 +337,10 @@ public class ParameterizedBuiltinCPFileInstruction extends ParameterizedBuiltinC * @param stagingDir staging directory * @return true if diag * @throws IOException if IOException occurs - * @throws DMLRuntimeException if DMLRuntimeException occurs */ @SuppressWarnings("deprecation") public boolean createBinaryBlockStagingFile( String fnameOld, String stagingDir ) - throws IOException, DMLRuntimeException + throws IOException { //prepare input JobConf job = new JobConf(ConfigurationManager.getCachedJobConf()); @@ -389,33 +377,25 @@ public class ParameterizedBuiltinCPFileInstruction extends ParameterizedBuiltinC return diagBlocks; } - private static void appendCellBufferToStagingArea( String dir, LinkedList<Cell> buffer, int brlen, int bclen ) - throws DMLRuntimeException, IOException - { + private static void appendCellBufferToStagingArea( String dir, LinkedList<Cell> buffer, int brlen, int bclen ) throws IOException { HashMap<String,LinkedList<Cell>> sortedBuffer = new HashMap<>(); - //sort cells in buffer wrt key String key = null; - for( Cell c : buffer ) - { + for( Cell c : buffer ) { key = (c.getRow()/brlen+1) +"_"+(c.getCol()/bclen+1); - if( !sortedBuffer.containsKey(key) ) sortedBuffer.put(key, new LinkedList<Cell>()); sortedBuffer.get(key).addLast(c); - } - + } //write lists of cells to local files - for( Entry<String,LinkedList<Cell>> e : sortedBuffer.entrySet() ) - { - + for( Entry<String,LinkedList<Cell>> e : sortedBuffer.entrySet() ) { String pfname = dir + "/" + e.getKey(); StagingFileUtils.writeCellListToLocal(pfname, e.getValue()); } - } + } private long createKeyMapping( String stagingDir, long rlen, long clen, int brlen, int bclen, InputInfo ii) - throws FileNotFoundException, IOException, DMLRuntimeException + throws FileNotFoundException, IOException { String metaOut = stagingDir+"/meta";
