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

arnabp20 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 220fd54aac [SYSTEMDS-3471] Enable multi-threaded transformencode/apply
220fd54aac is described below

commit 220fd54aace04f85764cdfbbcd8212ea2480d65f
Author: Arnab Phani <[email protected]>
AuthorDate: Wed Nov 30 16:46:16 2022 +0100

    [SYSTEMDS-3471] Enable multi-threaded transformencode/apply
    
    This patch changes the defaults of the Encode config flags
    to use the multi-threaded build, apply, allocation and
    compactions methods for CP transformencode/apply.
    
    Closes #1743
---
 src/main/java/org/apache/sysds/conf/DMLConfig.java                | 2 +-
 .../fed/MultiReturnParameterizedBuiltinFEDInstruction.java        | 8 ++++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/apache/sysds/conf/DMLConfig.java 
b/src/main/java/org/apache/sysds/conf/DMLConfig.java
index 937910d720..2225d89d89 100644
--- a/src/main/java/org/apache/sysds/conf/DMLConfig.java
+++ b/src/main/java/org/apache/sysds/conf/DMLConfig.java
@@ -152,7 +152,7 @@ public class DMLConfig
                _defaultVals.put(CP_PARALLEL_IO,         "true" );
                _defaultVals.put(PARALLEL_TOKENIZE,      "false");
                _defaultVals.put(PARALLEL_TOKENIZE_NUM_BLOCKS, "64");
-               _defaultVals.put(PARALLEL_ENCODE,        "false" );
+               _defaultVals.put(PARALLEL_ENCODE,        "true" );
                _defaultVals.put(PARALLEL_ENCODE_STAGED, "false" );
                _defaultVals.put(PARALLEL_ENCODE_APPLY_BLOCKS, "-1");
                _defaultVals.put(PARALLEL_ENCODE_BUILD_BLOCKS, "-1");
diff --git 
a/src/main/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.java
 
b/src/main/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.java
index 5e6db1d792..2b14bd68d4 100644
--- 
a/src/main/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.java
+++ 
b/src/main/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.java
@@ -344,7 +344,9 @@ public class MultiReturnParameterizedBuiltinFEDInstruction 
extends ComputationFE
                                .createEncoder(_spec, colNames, 
fb.getNumColumns(), null, _offset, _offset + fb.getNumColumns());
 
                        // build necessary structures for encoding
-                       encoder.build(fb, 
OptimizerUtils.getTransformNumThreads()); // FIXME skip equi-height sorting
+                       //encoder.build(fb, 
OptimizerUtils.getTransformNumThreads()); // FIXME skip equi-height sorting
+                       // FIXME: Enabling multithreading intermittently hangs
+                       encoder.build(fb, 1);
                        fo.release();
 
                        // create federated response
@@ -375,7 +377,9 @@ public class MultiReturnParameterizedBuiltinFEDInstruction 
extends ComputationFE
                        // offset is applied on the Worker to shift the local 
encoders to their respective column
                        _encoder.applyColumnOffset();
                        // apply transformation
-                       MatrixBlock mbout = _encoder.apply(fb, 
OptimizerUtils.getTransformNumThreads());
+                       //MatrixBlock mbout = _encoder.apply(fb, 
OptimizerUtils.getTransformNumThreads());
+                       // FIXME: Enabling multithreading intermittently hangs
+                       MatrixBlock mbout = _encoder.apply(fb, 1);
 
                        // create output matrix object
                        MatrixObject mo = 
ExecutionContext.createMatrixObject(mbout);

Reply via email to