You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemml.apache.org by mb...@apache.org on 2018/07/19 07:09:08 UTC

[2/2] systemml git commit: [SYSTEMML-2456] Fix sizes propagation matrix casts of lists

[SYSTEMML-2456] Fix sizes propagation matrix casts of lists

This patch fixes the parser validation of matrix casts which incorrectly
propagated the list size as matrix dimensions. Other operations like DNN
ops then incorrectly took this information and created invalid plans
(with literals) such that the core compilation chain could not correct
for these mistakes. We now properly set the dimensions to unknown
because any matrices in a 1x1 list can have arbitrary dimensions.


Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/50461775
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/50461775
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/50461775

Branch: refs/heads/master
Commit: 504617758b2e55a68a5f65a0df75426ffd806042
Parents: bca1f1c
Author: Matthias Boehm <mb...@gmail.com>
Authored: Thu Jul 19 00:08:50 2018 -0700
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Thu Jul 19 00:09:13 2018 -0700

----------------------------------------------------------------------
 .../java/org/apache/sysml/parser/BuiltinFunctionExpression.java    | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/systemml/blob/50461775/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java b/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
index c2c48cb..fe67fb6 100644
--- a/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
+++ b/src/main/java/org/apache/sysml/parser/BuiltinFunctionExpression.java
@@ -662,6 +662,8 @@ public class BuiltinFunctionExpression extends DataIdentifier
 			output.setDimensions(id.getDim1(), id.getDim2());
 			if( getFirstExpr().getOutput().getDataType()==DataType.SCALAR )
 				output.setDimensions(1, 1); //correction scalars
+			if( getFirstExpr().getOutput().getDataType()==DataType.LIST )
+				output.setDimensions(-1, -1); //correction list: arbitrary object
 			output.setBlockDimensions(id.getRowsInBlock(), id.getColumnsInBlock());
 			output.setValueType(ValueType.DOUBLE); //matrices always in double
 			break;