Repository: systemml Updated Branches: refs/heads/master 8dcb487e4 -> ebd7ec6f3
[SYSTEMML-1817] Fix hop construction for full standard dev computation The hop construction for a full (row/column) standard deviation sd(X) computation entails creating hops for sqrt(var(X)). So far, the inner hop var(X) was not assigned correct meta data, leading to wrong generated instructions. This only happens in specific scenarios with multiple consumers and different target data types. Project: http://git-wip-us.apache.org/repos/asf/systemml/repo Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/ebd7ec6f Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/ebd7ec6f Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/ebd7ec6f Branch: refs/heads/master Commit: ebd7ec6f3ede350756aa6dfbb9970f7244bdda58 Parents: 8dcb487 Author: Matthias Boehm <[email protected]> Authored: Fri Jul 28 23:22:55 2017 -0700 Committer: Matthias Boehm <[email protected]> Committed: Fri Jul 28 23:22:55 2017 -0700 ---------------------------------------------------------------------- src/main/java/org/apache/sysml/parser/DMLTranslator.java | 1 + 1 file changed, 1 insertion(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/systemml/blob/ebd7ec6f/src/main/java/org/apache/sysml/parser/DMLTranslator.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/sysml/parser/DMLTranslator.java b/src/main/java/org/apache/sysml/parser/DMLTranslator.java index 3708bb6..b547985 100644 --- a/src/main/java/org/apache/sysml/parser/DMLTranslator.java +++ b/src/main/java/org/apache/sysml/parser/DMLTranslator.java @@ -2678,6 +2678,7 @@ public class DMLTranslator // stdDev = sqrt(variance) currBuiltinOp = new AggUnaryOp(target.getName(), target.getDataType(), target.getValueType(), AggOp.VAR, Direction.RowCol, expr); + HopRewriteUtils.setOutputParametersForScalar(currBuiltinOp); currBuiltinOp = new UnaryOp(target.getName(), target.getDataType(), target.getValueType(), Hop.OpOp1.SQRT, currBuiltinOp); break;
