This is an automated email from the ASF dual-hosted git repository.

mboehm7 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 36d563653d [Minor] Fix baseline sparse-dense matrix multiplication
36d563653d is described below

commit 36d563653d16704d9bcd87320a7af81013b5fa5a
Author: ReneEnjilian <enjilianr...@gmail.com>
AuthorDate: Fri May 3 19:39:57 2024 +0200

    [Minor] Fix baseline sparse-dense matrix multiplication
    
    Closes #2022.
---
 .../java/org/apache/sysds/runtime/matrix/data/LibMatrixMult.java   | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixMult.java 
b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixMult.java
index 945901eaf1..b7a4f42bf6 100644
--- a/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixMult.java
+++ b/src/main/java/org/apache/sysds/runtime/matrix/data/LibMatrixMult.java
@@ -1378,14 +1378,15 @@ public class LibMatrixMult
                                if( a.isEmpty(i) ) continue; 
                                int apos = a.pos(i);
                                int alen = a.size(i);
-                               // int[] aix = a.indexes(i);
+                               int[] aix = a.indexes(i);
                                double[] avals = a.values(i);
                                double[] cvals = c.values(i);
                                int cix = c.pos(i);
                                for(int k = apos; k < apos+alen; k++) {
                                        double val = avals[k];
-                                       double[] bvals = b.values(k);
-                                       int bix = b.pos(k);
+                                       int colIndex = aix[k];
+                                       double[] bvals = b.values(colIndex);
+                                       int bix = b.pos(colIndex);
                                        for(int j = 0; j < n; j++)
                                                cvals[cix+j] += val * 
bvals[bix+j];
                                }

Reply via email to