Baunsgaard commented on a change in pull request #1111:
URL: https://github.com/apache/systemds/pull/1111#discussion_r527774713



##########
File path: 
src/test/java/org/apache/sysds/test/functions/federated/algorithms/FederatedLmPipeline.java
##########
@@ -76,37 +85,48 @@ public void federatedLmPipeline(ExecMode execMode, boolean 
contSplits) {
                        X = rc.append(X, new MatrixBlock(), true);
                        
                        // We have two matrices handled by a single federated 
worker
-                       int halfRows = rows / 2;
-                       writeInputMatrixWithMTD("X1", X.slice(0, halfRows-1), 
false);
-                       writeInputMatrixWithMTD("X2", X.slice(halfRows, 
rows-1), false);
+                       int quarterRows = TEST_NAME.equals(TEST_NAME2) ? rows / 
4 : rows / 2;
+                       List<Integer> k =  TEST_NAME.equals(TEST_NAME2) ? 
List.of(quarterRows-1, quarterRows, 2*quarterRows-1, 2*quarterRows, 
3*quarterRows-1, 3*quarterRows, rows-1) :
+                               List.of(quarterRows-1, quarterRows, rows-1, 0, 
0, 0, 0);
+                       writeInputMatrixWithMTD("X1", X.slice(0, k.get(0)), 
false);
+                       writeInputMatrixWithMTD("X2", X.slice(k.get(1), 
k.get(2)), false);
+                       writeInputMatrixWithMTD("X3", X.slice(k.get(3), 
k.get(4)), false);
+                       writeInputMatrixWithMTD("X4", X.slice(k.get(5), 
k.get(6)), false);
                        writeInputMatrixWithMTD("Y", y, false);
                        
                        // empty script name because we don't execute any 
script, just start the worker
                        fullDMLScriptName = "";
                        int port1 = getRandomAvailablePort();
                        int port2 = getRandomAvailablePort();
+                       int port3 = getRandomAvailablePort();
+                       int port4 = getRandomAvailablePort();
                        Thread t1 = startLocalFedWorkerThread(port1, 
FED_WORKER_WAIT_S);
                        Thread t2 = startLocalFedWorkerThread(port2);
+                       Thread t3 = startLocalFedWorkerThread(port3);

Review comment:
       I have added the second argument to reduce the Federated worker startup, 
so we don't have to wait for a second for each of the workers, but just the 
last.

##########
File path: 
src/test/java/org/apache/sysds/test/functions/federated/algorithms/FederatedLmPipeline.java
##########
@@ -19,6 +19,7 @@
 
 package org.apache.sysds.test.functions.federated.algorithms;
 
+import com.sun.tools.javac.util.List;

Review comment:
       I think you have some automated imports that have to change priority.
   Usually we don't import the com.sun libraries.

##########
File path: 
src/test/java/org/apache/sysds/test/functions/federated/algorithms/FederatedLmPipeline.java
##########
@@ -44,20 +46,27 @@
        @Override
        public void setUp() {
                TestUtils.clearAssertionInformation();
-               addTestConfiguration(TEST_NAME, new 
TestConfiguration(TEST_CLASS_DIR, TEST_NAME, new String[] {"Z"}));
+               addTestConfiguration(TEST_NAME1, new 
TestConfiguration(TEST_CLASS_DIR, TEST_NAME1, new String[] {"Z"}));
+               addTestConfiguration(TEST_NAME2, new 
TestConfiguration(TEST_CLASS_DIR, TEST_NAME2, new String[] {"Z"}));
        }
 
        @Test
        public void federatedLmPipelineContinguous() {
-               federatedLmPipeline(Types.ExecMode.SINGLE_NODE, true);
+               federatedLmPipeline(Types.ExecMode.SINGLE_NODE, true, 
TEST_NAME1);
        }
+
+       @Test
+       public void federatedLmPipelineContinguous4Workers() { 
federatedLmPipeline(Types.ExecMode.SINGLE_NODE, true, TEST_NAME2); }
        
        @Test
        public void federatedLmPipelineSampled() {
-               federatedLmPipeline(Types.ExecMode.SINGLE_NODE, false);
+               federatedLmPipeline(Types.ExecMode.SINGLE_NODE, false, 
TEST_NAME1);
        }
 
-       public void federatedLmPipeline(ExecMode execMode, boolean contSplits) {
+       @Test
+       public void federatedLmPipelineSampled4Workers() { 
federatedLmPipeline(Types.ExecMode.SINGLE_NODE, false, TEST_NAME2); }

Review comment:
       i personally like it in one line as well, but our other tests, does not 
follow this syntax so i would suggest multi line.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to