This is an automated email from the ASF dual-hosted git repository.

sebwrede pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git


The following commit(s) were added to refs/heads/main by this push:
     new cf87232  [MINOR] Remove Redundant Parameters and Initializers in 
ProgramBlocks
cf87232 is described below

commit cf87232b298ab708b20d30cdfd42d5ba3c1366f9
Author: sebwrede <[email protected]>
AuthorDate: Mon Oct 4 17:26:09 2021 +0200

    [MINOR] Remove Redundant Parameters and Initializers in ProgramBlocks
    
    This commit has small adjustments to the ProgramBlock classes to remove 
redundant parameters and initializers.
    
    Closes #1410.
---
 .../runtime/controlprogram/ForProgramBlock.java    |  6 +--
 .../runtime/controlprogram/IfProgramBlock.java     |  4 +-
 .../runtime/controlprogram/ParForProgramBlock.java | 50 +++++++++++-----------
 .../sysds/runtime/controlprogram/Program.java      |  4 +-
 .../sysds/runtime/controlprogram/ProgramBlock.java |  6 +--
 .../runtime/controlprogram/WhileProgramBlock.java  |  4 +-
 6 files changed, 36 insertions(+), 38 deletions(-)

diff --git 
a/src/main/java/org/apache/sysds/runtime/controlprogram/ForProgramBlock.java 
b/src/main/java/org/apache/sysds/runtime/controlprogram/ForProgramBlock.java
index 4faadff..fcf4521 100644
--- a/src/main/java/org/apache/sysds/runtime/controlprogram/ForProgramBlock.java
+++ b/src/main/java/org/apache/sysds/runtime/controlprogram/ForProgramBlock.java
@@ -165,12 +165,12 @@ public class ForProgramBlock extends ProgramBlock
                }
                
                //execute exit instructions
-               executeExitInstructions(_exitInstruction, "for", ec);
+               executeExitInstructions("for", ec);
        }
 
        protected ScalarObject executePredicateInstructions( int pos, 
ArrayList<Instruction> instructions, ExecutionContext ec, boolean downCast )
        {
-               ScalarObject ret = null;
+               ScalarObject ret;
                ValueType vt = downCast ? ValueType.INT64 : null;
                
                try
@@ -221,7 +221,7 @@ public class ForProgramBlock extends ProgramBlock
        /**
         * Utility class for iterating over positive or negative predicate 
sequences.
         */
-       protected class SequenceIterator implements Iterator<IntObject>, 
Iterable<IntObject>
+       protected static class SequenceIterator implements Iterator<IntObject>, 
Iterable<IntObject>
        {
                private long _cur = -1;
                private long _to = -1;
diff --git 
a/src/main/java/org/apache/sysds/runtime/controlprogram/IfProgramBlock.java 
b/src/main/java/org/apache/sysds/runtime/controlprogram/IfProgramBlock.java
index b983f56..f88dff5 100644
--- a/src/main/java/org/apache/sysds/runtime/controlprogram/IfProgramBlock.java
+++ b/src/main/java/org/apache/sysds/runtime/controlprogram/IfProgramBlock.java
@@ -128,12 +128,12 @@ public class IfProgramBlock extends ProgramBlock
                }
                
                //execute exit instructions
-               executeExitInstructions(_exitInstruction, "if", ec);
+               executeExitInstructions("if", ec);
        }
 
        private BooleanObject executePredicate(ExecutionContext ec) 
        {
-               BooleanObject result = null;
+               BooleanObject result;
                try {
                        if( _sb != null ) {
                                IfStatementBlock isb = (IfStatementBlock)_sb;
diff --git 
a/src/main/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.java 
b/src/main/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.java
index 1fc95ce..f7ead3c 100644
--- 
a/src/main/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.java
+++ 
b/src/main/java/org/apache/sysds/runtime/controlprogram/ParForProgramBlock.java
@@ -292,7 +292,6 @@ public class ParForProgramBlock extends ForProgramBlock
        public static final boolean ALLOW_NESTED_PARALLELISM    = true; // if 
not, transparently change parfor to for on program conversions (local,remote)
        public static final boolean USE_PARALLEL_RESULT_MERGE   = false; // if 
result merge is run in parallel or serial 
        public static final boolean USE_PARALLEL_RESULT_MERGE_REMOTE = true; // 
if remote result merge should be run in parallel for multiple result vars
-       public static final boolean ALLOW_DATA_COLOCATION       = true;
        public static final boolean CREATE_UNSCOPED_RESULTVARS  = true;
        public static       boolean ALLOW_REUSE_PARTITION_VARS  = true; //reuse 
partition input matrices, applied only if read-only in surrounding loops
        public static final int     WRITE_REPLICATION_FACTOR    = 1;
@@ -322,18 +321,18 @@ public class ParForProgramBlock extends ForProgramBlock
        protected int _numThreads = -1;
        protected boolean _fixedDOP = false; //guard for numThreads
        protected long _taskSize = -1;
-       protected PTaskPartitioner _taskPartitioner = null;
-       protected PDataPartitioner _dataPartitioner = null;
-       protected PResultMerge _resultMerge = null;
-       protected PExecMode _execMode = null;
-       protected POptMode _optMode = null;
+       protected PTaskPartitioner _taskPartitioner;
+       protected PDataPartitioner _dataPartitioner;
+       protected PResultMerge _resultMerge;
+       protected PExecMode _execMode;
+       protected POptMode _optMode;
        
        //specifics used for optimization
        protected long _numIterations = -1;
        
        //specifics used for data partitioning
-       protected LocalVariableMap _variablesDPOriginal = null;
-       protected LocalVariableMap _variablesDPReuse = null;
+       protected LocalVariableMap _variablesDPOriginal;
+       protected LocalVariableMap _variablesDPReuse;
        protected String _colocatedDPMatrix = null;
        protected boolean _tSparseCol = false;
        protected int _replicationDP = WRITE_REPLICATION_FACTOR;
@@ -647,15 +646,15 @@ public class ParForProgramBlock extends ForProgramBlock
                        switch( _execMode )
                        {
                                case LOCAL: //create parworkers as local threads
-                                       executeLocalParFor(ec, iterVar, from, 
to, incr);
+                                       executeLocalParFor(ec, from, to, incr);
                                        break;
                                
                                case REMOTE_SPARK: // create parworkers as 
Spark tasks (one job per parfor)
-                                       executeRemoteSparkParFor(ec, iterVar, 
from, to, incr);
+                                       executeRemoteSparkParFor(ec, from, to, 
incr);
                                        break;
                                
                                case REMOTE_SPARK_DP: // create parworkers as 
Spark tasks (one job per parfor)
-                                       executeRemoteSparkParForDP(ec, iterVar, 
from, to, incr);
+                                       executeRemoteSparkParForDP(ec, from, 
to, incr);
                                        break;
                                
                                default:
@@ -688,7 +687,7 @@ public class ParForProgramBlock extends ForProgramBlock
                }
                
                //execute exit instructions
-               executeExitInstructions(_exitInstruction, "parfor", ec);
+               executeExitInstructions("parfor", ec);
                
                ///////
                //end PARALLEL EXECUTION of (PAR)FOR body
@@ -715,13 +714,12 @@ public class ParForProgramBlock extends ForProgramBlock
         * below for details of the realization.
         * 
         * @param ec execution context
-        * @param itervar ?
         * @param from ?
         * @param to ?
         * @param incr ?
         * @throws InterruptedException if InterruptedException occurs
         */
-       private void executeLocalParFor( ExecutionContext ec, IntObject 
itervar, IntObject from, IntObject to, IntObject incr ) 
+       private void executeLocalParFor( ExecutionContext ec, IntObject from, 
IntObject to, IntObject incr )
                throws InterruptedException
        {
                LOG.trace("Local Par For (multi-threaded) with degree of 
parallelism : " + _numThreads);
@@ -850,7 +848,7 @@ public class ParForProgramBlock extends ForProgramBlock
                }
        }
 
-       private void executeRemoteSparkParFor(ExecutionContext ec, IntObject 
itervar, IntObject from, IntObject to, IntObject incr) 
+       private void executeRemoteSparkParFor(ExecutionContext ec, IntObject 
from, IntObject to, IntObject incr)
        {
                Timing time = ( _monitor ? new Timing(true) : null );
                
@@ -916,7 +914,7 @@ public class ParForProgramBlock extends ForProgramBlock
                }
        }
        
-       private void executeRemoteSparkParForDP( ExecutionContext ec, IntObject 
itervar, IntObject from, IntObject to, IntObject incr ) {
+       private void executeRemoteSparkParForDP( ExecutionContext ec, IntObject 
from, IntObject to, IntObject incr ) {
                Timing time = ( _monitor ? new Timing(true) : null );
                
                // Step 0) check and compile to CP (if forced remote parfor)
@@ -991,7 +989,7 @@ public class ParForProgramBlock extends ForProgramBlock
                                Data dat = ec.getVariable(var);
                                //skip non-existing input matrices (which are 
due to unknown sizes marked for
                                //partitioning but typically related branches 
are never executed)
-                               if( dat != null && dat instanceof MatrixObject )
+                               if( dat instanceof MatrixObject )
                                {
                                        MatrixObject moVar = (MatrixObject) 
dat; //unpartitioned input
                                        
@@ -1076,7 +1074,7 @@ public class ParForProgramBlock extends ForProgramBlock
                Stream<CacheableData<?>> results = Arrays.stream(in).filter(m 
-> m!=null && m!=out);
                //perform cleanup (parallel to mitigate file deletion 
bottlenecks)
                (parallel ? results.parallel() : results)
-                       .forEach(m -> ec.cleanupCacheableData(m));
+                       .forEach(ec::cleanupCacheableData);
        }
        
        /**
@@ -1254,7 +1252,7 @@ public class ParForProgramBlock extends ForProgramBlock
         */
        private TaskPartitioner createTaskPartitioner( IntObject from, 
IntObject to, IntObject incr ) 
        {
-               TaskPartitioner tp = null;
+               TaskPartitioner tp;
                
                switch( _taskPartitioner ) {
                        case FIXED:
@@ -1301,7 +1299,7 @@ public class ParForProgramBlock extends ForProgramBlock
         */
        private DataPartitioner createDataPartitioner(PartitionFormat dpf, 
PDataPartitioner dataPartitioner, ExecutionContext ec) 
        {
-               DataPartitioner dp = null;
+               DataPartitioner dp;
                
                //determine max degree of parallelism
                int numRed = OptimizerUtils.isSparkExecutionMode() ?
@@ -1325,7 +1323,7 @@ public class ParForProgramBlock extends ForProgramBlock
        private ResultMerge<?> createResultMerge( PResultMerge prm,
                CacheableData<?> out, CacheableData<?>[] in, String fname, 
boolean accum, ExecutionContext ec ) 
        {
-               ResultMerge<?> rm = null;
+               ResultMerge<?> rm;
                
                if( out instanceof FrameObject ) {
                        rm = new ResultMergeFrameLocalMemory((FrameObject)out, 
(FrameObject[])in, fname, accum);
@@ -1352,7 +1350,7 @@ public class ParForProgramBlock extends ForProgramBlock
                                                (MatrixObject[])in, fname, 
accum, ec, numMap, numRed );
                                        break;
                                default:
-                                       throw new 
DMLRuntimeException("Undefined result merge: '" +prm.toString()+"'.");
+                                       throw new 
DMLRuntimeException("Undefined result merge: '" + prm +"'.");
                        }
                }
                else {
@@ -1650,9 +1648,9 @@ public class ParForProgramBlock extends ForProgramBlock
         */
        private class ResultMergeWorker extends Thread
        {
-               private LocalTaskQueue<ResultVar> _q = null;
-               private LocalVariableMap[] _refVars = null;
-               private ExecutionContext _ec = null;
+               private final LocalTaskQueue<ResultVar> _q;
+               private final LocalVariableMap[] _refVars;
+               private final ExecutionContext _ec;
                private boolean _success = false;
                
                public ResultMergeWorker( LocalTaskQueue<ResultVar> q, 
LocalVariableMap[] results, ExecutionContext ec )
@@ -1689,7 +1687,7 @@ public class ParForProgramBlock extends ForProgramBlock
                                        String fname = 
constructResultMergeFileName();
                                
                                        ResultMerge<?> rm = 
createResultMerge(_resultMerge, out, in, fname, var._isAccum, _ec);
-                                       CacheableData<?> outNew = null;
+                                       CacheableData<?> outNew;
                                        if( USE_PARALLEL_RESULT_MERGE )
                                                outNew = 
rm.executeParallelMerge( _numThreads );
                                        else
diff --git a/src/main/java/org/apache/sysds/runtime/controlprogram/Program.java 
b/src/main/java/org/apache/sysds/runtime/controlprogram/Program.java
index dbde741..66e063a 100644
--- a/src/main/java/org/apache/sysds/runtime/controlprogram/Program.java
+++ b/src/main/java/org/apache/sysds/runtime/controlprogram/Program.java
@@ -35,8 +35,8 @@ public class Program
        public static final String KEY_DELIM = "::";
        
        private DMLProgram _prog;
-       private ArrayList<ProgramBlock> _programBlocks;
-       private HashMap<String, FunctionDictionary<FunctionProgramBlock>> 
_namespaces;
+       private final ArrayList<ProgramBlock> _programBlocks;
+       private final HashMap<String, FunctionDictionary<FunctionProgramBlock>> 
_namespaces;
        
        public Program() {
                _namespaces = new HashMap<>();
diff --git 
a/src/main/java/org/apache/sysds/runtime/controlprogram/ProgramBlock.java 
b/src/main/java/org/apache/sysds/runtime/controlprogram/ProgramBlock.java
index ff33f6d..bad2ab7 100644
--- a/src/main/java/org/apache/sysds/runtime/controlprogram/ProgramBlock.java
+++ b/src/main/java/org/apache/sysds/runtime/controlprogram/ProgramBlock.java
@@ -181,7 +181,7 @@ public abstract class ProgramBlock implements ParseInfo {
                return executePredicateInstructions(tmp, retType, ec);
        }
 
-       protected void executeExitInstructions(Instruction inst, String ctx, 
ExecutionContext ec) {
+       protected void executeExitInstructions(String ctx, ExecutionContext ec) 
{
                try {
                        if(_exitInstruction != null)
                                executeSingleInstruction(_exitInstruction, ec);
@@ -279,7 +279,7 @@ public abstract class ProgramBlock implements ParseInfo {
                        // variables in symbol table (for tracking source of 
wrong representation)
                        if(CHECK_MATRIX_PROPERTIES) {
                                checkSparsity(tmp, ec.getVariables(), ec);
-                               checkFederated(tmp, ec.getVariables());
+                               checkFederated(ec.getVariables());
                        }
                }
                catch(DMLScriptException e) {
@@ -377,7 +377,7 @@ public abstract class ProgramBlock implements ParseInfo {
                }
        }
 
-       private static void checkFederated(Instruction lastInst, 
LocalVariableMap vars) {
+       private static void checkFederated(LocalVariableMap vars) {
                for(String varname : vars.keySet()) {
                        Data dat = vars.get(varname);
                        if(!(dat instanceof CacheableData))
diff --git 
a/src/main/java/org/apache/sysds/runtime/controlprogram/WhileProgramBlock.java 
b/src/main/java/org/apache/sysds/runtime/controlprogram/WhileProgramBlock.java
index 234f58f..cc916de 100644
--- 
a/src/main/java/org/apache/sysds/runtime/controlprogram/WhileProgramBlock.java
+++ 
b/src/main/java/org/apache/sysds/runtime/controlprogram/WhileProgramBlock.java
@@ -69,7 +69,7 @@ public class WhileProgramBlock extends ProgramBlock
        
        private BooleanObject executePredicate(ExecutionContext ec) 
        {
-               BooleanObject result = null;
+               BooleanObject result;
                try
                {
                        if( _sb!=null )
@@ -140,7 +140,7 @@ public class WhileProgramBlock extends ProgramBlock
                }
                
                //execute exit instructions
-               executeExitInstructions(_exitInstruction, "while", ec);
+               executeExitInstructions("while", ec);
        }
        
        public void setChildBlocks(ArrayList<ProgramBlock> childs) {

Reply via email to