You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemds.apache.org by se...@apache.org on 2022/05/16 10:16:48 UTC
[systemds] branch main updated: [MINOR] Add Forced ExecType for FED DataOp And Add FedOut to Explain
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 17b7a368ef [MINOR] Add Forced ExecType for FED DataOp And Add FedOut to Explain
17b7a368ef is described below
commit 17b7a368ef25c93e2b1ac69c57b4389997a78dd1
Author: sebwrede <sw...@know-center.at>
AuthorDate: Mon May 16 11:01:46 2022 +0200
[MINOR] Add Forced ExecType for FED DataOp And Add FedOut to Explain
Closes #1614.
---
src/main/java/org/apache/sysds/hops/DataOp.java | 2 ++
src/main/java/org/apache/sysds/hops/Hop.java | 4 ++++
src/main/java/org/apache/sysds/hops/cost/HopRel.java | 5 ++++-
src/main/java/org/apache/sysds/utils/Explain.java | 4 ++++
4 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/main/java/org/apache/sysds/hops/DataOp.java b/src/main/java/org/apache/sysds/hops/DataOp.java
index 6035d59f87..42c51e452b 100644
--- a/src/main/java/org/apache/sysds/hops/DataOp.java
+++ b/src/main/java/org/apache/sysds/hops/DataOp.java
@@ -496,6 +496,8 @@ public class DataOp extends Hop {
}
_etype = letype;
+ if ( _etypeForced == ExecType.FED )
+ _etype = _etypeForced;
}
return _etype;
diff --git a/src/main/java/org/apache/sysds/hops/Hop.java b/src/main/java/org/apache/sysds/hops/Hop.java
index e1e4fcc8d4..7bdb5a424e 100644
--- a/src/main/java/org/apache/sysds/hops/Hop.java
+++ b/src/main/java/org/apache/sysds/hops/Hop.java
@@ -975,6 +975,10 @@ public abstract class Hop implements ParseInfo {
return _privacyConstraint;
}
+ public FederatedOutput getFederatedOutput(){
+ return _federatedOutput;
+ }
+
public boolean hasFederatedOutput(){
return _federatedOutput == FederatedOutput.FOUT;
}
diff --git a/src/main/java/org/apache/sysds/hops/cost/HopRel.java b/src/main/java/org/apache/sysds/hops/cost/HopRel.java
index 70785950ca..427fe1f209 100644
--- a/src/main/java/org/apache/sysds/hops/cost/HopRel.java
+++ b/src/main/java/org/apache/sysds/hops/cost/HopRel.java
@@ -20,11 +20,13 @@
package org.apache.sysds.hops.cost;
import org.apache.sysds.api.DMLException;
+import org.apache.sysds.common.Types;
import org.apache.sysds.common.Types.ExecType;
import org.apache.sysds.hops.Hop;
import org.apache.sysds.hops.fedplanner.FTypes;
import org.apache.sysds.hops.fedplanner.FTypes.FType;
import org.apache.sysds.hops.fedplanner.MemoTable;
+import org.apache.sysds.hops.rewrite.HopRewriteUtils;
import org.apache.sysds.runtime.instructions.fed.FEDInstruction;
import org.apache.sysds.runtime.instructions.fed.FEDInstruction.FederatedOutput;
@@ -109,7 +111,8 @@ public class HopRel {
}
private void setExecType(){
- if ( inputDependency.stream().anyMatch(HopRel::hasFederatedOutput) )
+ if ( inputDependency.stream().anyMatch(HopRel::hasFederatedOutput)
+ || HopRewriteUtils.isData(hopRef, Types.OpOpData.FEDERATED))
execType = ExecType.FED;
}
diff --git a/src/main/java/org/apache/sysds/utils/Explain.java b/src/main/java/org/apache/sysds/utils/Explain.java
index c8e5902511..589f23a845 100644
--- a/src/main/java/org/apache/sysds/utils/Explain.java
+++ b/src/main/java/org/apache/sysds/utils/Explain.java
@@ -69,6 +69,7 @@ import org.apache.sysds.runtime.instructions.spark.ReblockSPInstruction;
import org.apache.sysds.runtime.instructions.spark.SPInstruction;
import org.apache.sysds.runtime.lineage.LineageItem;
import org.apache.sysds.runtime.lineage.LineageItemUtils;
+import org.apache.sysds.runtime.instructions.fed.FEDInstruction.FederatedOutput;
public class Explain
{
@@ -612,6 +613,9 @@ public class Explain
if (hop.getExecType() != null)
sb.append(", " + hop.getExecType());
+ if ( hop.getFederatedOutput() != FederatedOutput.NONE )
+ sb.append(" ").append(hop.getFederatedOutput()).append(" ");
+
if ( MEMO_TABLE != null && MEMO_TABLE.containsHop(hop) ){
List<String> fedAlts = MEMO_TABLE.getFedOutAlternatives(hop);
if ( fedAlts != null ){