This is an automated email from the ASF dual-hosted git repository. baunsgaard pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/systemds.git
commit 65e31c781a581f453f45438a3809dba4d2eb57d6 Author: Sebastian Baunsgaard <[email protected]> AuthorDate: Tue Oct 17 13:17:02 2023 +0200 [MINOR] Fix empty sparse row bug in CLA There was an edge case not fixed for CLA where the pre-aggregate to add to a matrix returned empty rows. This commit fixes those instances. --- src/main/java/org/apache/sysds/runtime/compress/colgroup/APreAgg.java | 2 ++ .../java/org/apache/sysds/runtime/compress/colgroup/ColGroupUtils.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/main/java/org/apache/sysds/runtime/compress/colgroup/APreAgg.java b/src/main/java/org/apache/sysds/runtime/compress/colgroup/APreAgg.java index 71411dfb00..655bfc496f 100644 --- a/src/main/java/org/apache/sysds/runtime/compress/colgroup/APreAgg.java +++ b/src/main/java/org/apache/sysds/runtime/compress/colgroup/APreAgg.java @@ -247,6 +247,8 @@ public abstract class APreAgg extends AColGroupValue { if(tmp.isInSparseFormat()) { SparseBlock sb = tmp.getSparseBlock(); for(int row = 0; row < rowIndexes.size(); row++) { + if(sb.isEmpty(row)) + continue; final int apos = sb.pos(row); final int alen = sb.size(row); final int[] aix = sb.indexes(row); diff --git a/src/main/java/org/apache/sysds/runtime/compress/colgroup/ColGroupUtils.java b/src/main/java/org/apache/sysds/runtime/compress/colgroup/ColGroupUtils.java index 4bb547d520..c67a40b34c 100644 --- a/src/main/java/org/apache/sysds/runtime/compress/colgroup/ColGroupUtils.java +++ b/src/main/java/org/apache/sysds/runtime/compress/colgroup/ColGroupUtils.java @@ -283,6 +283,8 @@ public interface ColGroupUtils { if(tmp.isInSparseFormat()) { final SparseBlock sb = tmp.getSparseBlock(); for(int row = rl, offT = 0; row < ru; row++, offT++) { + if(sb.isEmpty(offT)) + continue; final int apos = sb.pos(offT); final int alen = sb.size(offT); final int[] aix = sb.indexes(offT);
