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/13 20:01:22 UTC
[1/2] systemml git commit: [SYSTEMML-2439] Fix robustness codegen
optimizer for MLogreg
Repository: systemml
Updated Branches:
refs/heads/master 8def2040b -> c13a1b04c
[SYSTEMML-2439] Fix robustness codegen optimizer for MLogreg
This patch fixes special cases of the cost-based codegen optimizer to be
robust against unavailable computation costs, e.g., when descending to
data nodes.
Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/2d010285
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/2d010285
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/2d010285
Branch: refs/heads/master
Commit: 2d0102853805d533c0db4ec420c304555b2e4fb5
Parents: 8def204
Author: Matthias Boehm <mb...@gmail.com>
Authored: Fri Jul 13 12:37:37 2018 -0700
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Fri Jul 13 12:37:37 2018 -0700
----------------------------------------------------------------------
.../sysml/hops/codegen/opt/PlanSelectionFuseCostBasedV2.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/systemml/blob/2d010285/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelectionFuseCostBasedV2.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelectionFuseCostBasedV2.java b/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelectionFuseCostBasedV2.java
index 0e0091c..0ef255a 100644
--- a/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelectionFuseCostBasedV2.java
+++ b/src/main/java/org/apache/sysml/hops/codegen/opt/PlanSelectionFuseCostBasedV2.java
@@ -951,7 +951,8 @@ public class PlanSelectionFuseCostBasedV2 extends PlanSelection
}
//add compute costs of current operator to costs vector
- costVect.computeCosts += computeCosts.get(currentHopId);
+ if( computeCosts.containsKey(currentHopId) )
+ costVect.computeCosts += computeCosts.get(currentHopId);
//process children recursively
for( int i=0; i< current.getInput().size(); i++ ) {
[2/2] systemml git commit: [SYSTEMML-2438] Fix correctness matrix
compression group partitioning
Posted by mb...@apache.org.
[SYSTEMML-2438] Fix correctness matrix compression group partitioning
The recently improved bin-packing-based column group partitioning on
matrix compression returned padded bins leading to duplicated column 0
and thus incorrect results.
Project: http://git-wip-us.apache.org/repos/asf/systemml/repo
Commit: http://git-wip-us.apache.org/repos/asf/systemml/commit/c13a1b04
Tree: http://git-wip-us.apache.org/repos/asf/systemml/tree/c13a1b04
Diff: http://git-wip-us.apache.org/repos/asf/systemml/diff/c13a1b04
Branch: refs/heads/master
Commit: c13a1b04c90198ce934888daddb0c54324c46d72
Parents: 2d01028
Author: Matthias Boehm <mb...@gmail.com>
Authored: Fri Jul 13 12:55:41 2018 -0700
Committer: Matthias Boehm <mb...@gmail.com>
Committed: Fri Jul 13 13:02:23 2018 -0700
----------------------------------------------------------------------
.../apache/sysml/runtime/compress/CompressedMatrixBlock.java | 2 +-
.../compress/cocode/ColumnGroupPartitionerBinPacking.java | 2 +-
.../org/apache/sysml/runtime/compress/utils/IntArrayList.java | 6 ++++++
3 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/systemml/blob/c13a1b04/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java b/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
index 40a6674..fc0d185 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/CompressedMatrixBlock.java
@@ -121,7 +121,7 @@ public class CompressedMatrixBlock extends MatrixBlock implements Externalizable
if( LDEBUG ) {
Logger.getLogger("org.apache.sysml.runtime.compress")
.setLevel((Level) LDEBUG_LEVEL);
- }
+ }
}
protected ArrayList<ColGroup> _colGroups = null;
http://git-wip-us.apache.org/repos/asf/systemml/blob/c13a1b04/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java b/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java
index b6dccf6..2e88f5b 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/cocode/ColumnGroupPartitionerBinPacking.java
@@ -77,7 +77,7 @@ public class ColumnGroupPartitionerBinPacking extends ColumnGroupPartitioner
}
//extract native int arrays for individual bins
- return bins.stream().map(b -> b.extractValues())
+ return bins.stream().map(b -> b.extractValues(true))
.collect(Collectors.toList());
}
http://git-wip-us.apache.org/repos/asf/systemml/blob/c13a1b04/src/main/java/org/apache/sysml/runtime/compress/utils/IntArrayList.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/sysml/runtime/compress/utils/IntArrayList.java b/src/main/java/org/apache/sysml/runtime/compress/utils/IntArrayList.java
index e51f538..4025559 100644
--- a/src/main/java/org/apache/sysml/runtime/compress/utils/IntArrayList.java
+++ b/src/main/java/org/apache/sysml/runtime/compress/utils/IntArrayList.java
@@ -85,6 +85,12 @@ public class IntArrayList
else
return _data;
}
+
+ public int[] extractValues(boolean trim) {
+ int[] ret = extractValues();
+ return (trim && _size < ret.length) ?
+ Arrays.copyOfRange(ret, 0, _size) : ret;
+ }
private void resize() {
// check for integer overflow on resize