octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #45890] Sparse A*x and A+B are a bit slow


From: Rik
Subject: [Octave-bug-tracker] [bug #45890] Sparse A*x and A+B are a bit slow
Date: Wed, 15 Aug 2018 12:19:29 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0

Follow-up Comment #11, bug #45890 (project octave):

I extracted the benchmarking code from the original post and have uploaded it
as bm_sparse.m.

Running the CLI with tip df27088c307f I get


----------------------------------------------------------------------
GNU Octave Version: 5.0.0 (hg id: hg-id-disabled)
GNU Octave License: GNU General Public License
Operating System: Linux 4.4.0-131-generic #157-Ubuntu SMP Thu Jul 12 15:51:36
UTC 2018 x86_64
----------------------------------------------------------------------
Package Name  | Version | Installation directory
--------------+---------+-----------------------
          io  |  2.4.11 | /home/rik/.octavepkg/io-2.4.11
  statistics  |   1.4.0 | /home/rik/.octavepkg/statistics-1.4.0

N=1000000 NNZ=20000000 NRUNS=5
 sparse: 3.949250 (0.013439)
 2*A   : 0.233298 (0.006160)
 A'    : 3.075504 (0.006592)
 A+B   : 0.679681 (0.008432)
 A*x   : 0.544324 (0.011615)
 A'*x  : 3.657135 (0.027786)


Since the original issue report was from 2015, could someone try getting
running the script in Matlab to get more up-to-date results?

The only thing that sticks out to me is


 A'*x  : 3.657135 (0.027786)


This looks to be the sum of the transpose operation and the multiply
operation.  When calling BLAS/LAPACK Octave tries to avoid calculating the
transpose itself and instead passes along an appropriate flag to the
underlying library.  Is there something similar that we could do with sparse
matrices? 


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?45890>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]