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

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


The following commit(s) were added to refs/heads/master by this push:
     new ce3c49e  [MINOR] DML config enabled for Federated Worker
ce3c49e is described below

commit ce3c49e65a04e2dc5d807eafe70cc277c4cf657d
Author: baunsgaard <[email protected]>
AuthorDate: Mon Aug 24 14:36:41 2020 +0200

    [MINOR] DML config enabled for Federated Worker
---
 src/main/java/org/apache/sysds/api/DMLScript.java | 26 +++++++++++++----------
 1 file changed, 15 insertions(+), 11 deletions(-)

diff --git a/src/main/java/org/apache/sysds/api/DMLScript.java 
b/src/main/java/org/apache/sysds/api/DMLScript.java
index 635aef7..2f01647 100644
--- a/src/main/java/org/apache/sysds/api/DMLScript.java
+++ b/src/main/java/org/apache/sysds/api/DMLScript.java
@@ -256,6 +256,7 @@ public class DMLScript
                        }
                        
                        if (dmlOptions.fedWorker) {
+                               loadConfiguration(fnameOptConfig);
                                new 
FederatedWorker(dmlOptions.fedWorkerPort).run();
                                return true;
                        }
@@ -355,6 +356,15 @@ public class DMLScript
        // (core compilation and execute)
        ////////
 
+       private static void loadConfiguration(String fnameOptConfig) throws 
IOException {
+               DMLConfig dmlconf = 
DMLConfig.readConfigurationFile(fnameOptConfig);
+               ConfigurationManager.setGlobalConfig(dmlconf);
+               CompilerConfig cconf = 
OptimizerUtils.constructCompilerConfig(dmlconf);
+               ConfigurationManager.setGlobalConfig(cconf);
+               LOG.debug("\nDML config: \n" + dmlconf.getConfigInfo());
+               setGlobalFlags(dmlconf);
+       }
+
        /**
         * The running body of DMLScript execution. This method should be 
called after execution properties have been correctly set,
         * and customized parameters have been put into _argVals
@@ -372,13 +382,7 @@ public class DMLScript
                printStartExecInfo( dmlScriptStr );
                
                //Step 1: parse configuration files & write any configuration 
specific global variables
-               DMLConfig dmlconf = 
DMLConfig.readConfigurationFile(fnameOptConfig);
-               ConfigurationManager.setGlobalConfig(dmlconf);
-               CompilerConfig cconf = 
OptimizerUtils.constructCompilerConfig(dmlconf);
-               ConfigurationManager.setGlobalConfig(cconf);
-               LOG.debug("\nDML config: \n" + dmlconf.getConfigInfo());
-               
-               setGlobalFlags(dmlconf);
+               loadConfiguration(fnameOptConfig);
                
                //Step 3: parse dml script
                Statistics.startCompileTimer();
@@ -392,7 +396,7 @@ public class DMLScript
                dmlt.constructHops(prog);
                
                //init working directories (before usage by following 
compilation steps)
-               initHadoopExecution( dmlconf );
+               initHadoopExecution( ConfigurationManager.getDMLConfig() );
        
                //Step 5: rewrite HOP DAGs (incl IPA and memory estimates)
                dmlt.rewriteHopsDAG(prog);
@@ -401,7 +405,7 @@ public class DMLScript
                dmlt.constructLops(prog);
                
                //Step 7: generate runtime program, incl codegen
-               Program rtprog = dmlt.getRuntimeProgram(prog, dmlconf);
+               Program rtprog = dmlt.getRuntimeProgram(prog, 
ConfigurationManager.getDMLConfig());
                
                //Step 9: prepare statistics [and optional explain output]
                //count number compiled MR jobs / SP instructions       
@@ -421,14 +425,14 @@ public class DMLScript
                ExecutionContext ec = null;
                try {
                        ec = ExecutionContextFactory.createContext(rtprog);
-                       ScriptExecutorUtils.executeRuntimeProgram(rtprog, ec, 
dmlconf, STATISTICS ? STATISTICS_COUNT : 0, null);
+                       ScriptExecutorUtils.executeRuntimeProgram(rtprog, ec, 
ConfigurationManager.getDMLConfig(), STATISTICS ? STATISTICS_COUNT : 0, null);
                }
                finally {
                        if(ec != null && ec instanceof SparkExecutionContext)
                                ((SparkExecutionContext) ec).close();
                        LOG.info("END DML run " + getDateTime() );
                        //cleanup scratch_space and all working dirs
-                       cleanupHadoopExecution( dmlconf );
+                       cleanupHadoopExecution( 
ConfigurationManager.getDMLConfig());
                }
        }
        

Reply via email to