librsb-users Mailing List for librsb
A shared memory parallel sparse matrix library including Sparse BLAS.
Brought to you by:
michelemartone
You can subscribe to this list here.
2014 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
(12) |
Jul
|
Aug
|
Sep
|
Oct
(6) |
Nov
(3) |
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2022 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: Michele M. <mic...@us...> - 2022-12-20 21:39:57
|
Dear librsb users, I'm happy to announce the release of librsb-1.3.0.2. This is a minor release, with fixes related to: * aocc, clang, icx, amdclang, nvc, craycc * Windows * 32-bit architectures Tarball ready for download on https://sourceforge.net/projects/librsb/files/ together with GPG signatures. Thanks to all who contributed with feedback or help. Michele Martone p.s.: The http://librsb.sf.net/ website has been improved -- feedback is welcome. |
From: Michele M. <mic...@us...> - 2022-05-01 17:33:28
|
Dear librsb users, I'm very happy to announce the release of librsb-1.3.0.1. This is a minor release and it: * improves the build process across operating systems (e.g. *BSD, IBM AIX, Mac OS) * improves portability on certain architectures (e.g. armhf,sparc64) * fixes wrt certain compilers and shells Tarball ready for download on https://sourceforge.net/projects/librsb/files/ Many thanks to all who helped putting together these fixes! Michele Martone |
From: Michele M. <mic...@us...> - 2022-01-26 16:57:01
|
On 20220126@17:45, Marco Atzeri wrote: > On 21.01.2022 22:40, Michele Martone via librsb-users wrote: > > Dear librsb users, > > > > I'm very happy to announce the release of librsb-1.3.0.0. > > > > This is a major release > > Hi Michele, > is Octave sparsersb 1.0.9 fully compatible with 1.3.x version or > we should expect a new version ? > > Regards > Marco Hi Marco, sparsersb 1.0.9 is meant to play well with 1.3.x, the same way recent 1.2.x were. Ciao, Michele |
From: Marco A. <mar...@gm...> - 2022-01-26 16:45:59
|
On 21.01.2022 22:40, Michele Martone via librsb-users wrote: > Dear librsb users, > > I'm very happy to announce the release of librsb-1.3.0.0. > > This is a major release Hi Michele, is Octave sparsersb 1.0.9 fully compatible with 1.3.x version or we should expect a new version ? Regards Marco |
From: Michele M. <mic...@us...> - 2022-01-21 21:55:47
|
Dear librsb users, I'm very happy to announce the release of librsb-1.3.0.0. This is a major release; it brings you: * Considerably improved performance of rsb_spmm()/usmm() * A new C++ API (classes RsbMatrix and RsbLib) in new header <rsb.hpp> * A considerably enhanced test suite * Experimental support for long indices and more custom numerical types * And much more: see http://librsb.sourceforge.net/ for an updated change log (also attached) and the latest API documentation Tarball ready for download on https://sourceforge.net/projects/librsb/files/ Many thanks to users, colleagues and project partners who helped out during the last two years of intense development. I am also grateful to the Debian, Octave and cygwin communities for continued precious help over the years! Michele Martone p.s.: Today I am also releasing minor bugfix version 1.2.0.11; but my recommendation is to switch to 1.3.0.0. |
From: Michele M. <mic...@us...> - 2021-09-17 12:20:32
|
Dear librsb users, An updated version of librsb (1.2.0.10) [http://librsb.sourceforge.net/] is out and available for download from https://sourceforge.net/projects/librsb/files/ This is mostly a bugfix release. An excerpt from the NEWS file with relevant changes: - bugfix: rsb_spmm(...,RSB_FLAG_WANT_ROW_MAJOR_ORDER,...) internals swapped ldB and ldC so having ldB > ldC could lead to a crash; with ldC < ldB, to wrong results - bugfix: rsb_spmm(...,RSB_FLAG_WANT_ROW_MAJOR_ORDER,...) on matrix with RSB_FLAG_UNIT_DIAG_IMPLICIT could compute wrong results - bugfix: rsb_tune_spmm()/rsb_tune_spsm() could crash if called with order==RSB_FLAG_WANT_ROW_MAJOR_ORDER and auto leading dimensions and implicit operands (ldB==0 and Bp==NULL, ldC==0 and Cp==NULL) - bugfix: rsb_mtx_get_rows_sparse() with: was ignoring RSB_TRANSPOSITION_C - reduce librsb.so size by hiding unnecessary symbols - tuning with blas_rsb_autotune_next_operation(): a bit faster defaults - rsb_tune_spmm()/rsb_tune_spsm(): faster performance sampling if maxt>=0 - rsb_tune_spmm()/rsb_tune_spsm(): won't iterate till limit but stop on excessive slowdown - several documentation-related improvements Full NEWS file attached. A renewed THANKS (see README file) to all users and colleagues who contributed with insightful comments, bug reports, and testing. A BIG THANKS to the Debian, Octave and cygwin communities for continued precious help over the years. Michele Martone p.s.: librsb-1.3 is in the works, with improved rsb_spmm / usmm; contact me in private if you're interested in early testing. |
From: Michele M. <mic...@po...> - 2020-08-12 08:58:22
|
On 20200801@12:00, Rafael Laboissière wrote: > Dear librsb developers, > > Please find attached below a patch that has been applied to the Debian > package for librsb. It fixes a typo in the Doxygen documentation. > > Best, > > Rafael Laboissière Dear Rafael, Thanks for this and your 20200801@12:03 patch -- they've both in librsb-1.2.0.9 now. Best, Michele |
From: Michele M. <mic...@us...> - 2020-08-12 08:50:34
|
Dear Octave users and maintainers, Dear librsb users, Version 1.0.8 of the "sparsersb" Octave package [1] is out. "sparsersb" gives Octave users transparent access to the shared-memory parallel sparse matrices library "librsb", useful when you are multiplying repeatedly huge sparse matrices, particularly symmetric ones. A summary of important user-visible changes is available online [2] and it's mostly bugfixes, tests, and a small efficiency fix. Note that this version requires librsb-1.2.0.9 (just released [3]) or later to work. Thanks to Marco Atzeri, Rafael Laboissiere, and Olaf Till for direct help with this release. Happy computing with GNU/Octave, Michele [1] https://octave.sourceforge.io/sparsersb/ [2] https://octave.sourceforge.io/sparsersb/NEWS.html [3] https://sourceforge.net/projects/librsb/files/ |
From: Michele M. <mic...@us...> - 2020-08-12 08:41:25
|
Dear librsb users, An updated version of librsb (1.2.0.9) [http://librsb.sourceforge.net/] is out and available for download from https://sourceforge.net/projects/librsb/files/ This is a bugfix release. An excerpt from the NEWS file with the most relevant changes: - bugfix: duplicate or unit-diagonal or zero elements cleansing code could crash if built with icc - bugfix: avoid possible crash after subsequent rsb_tune_spmm/rsb_tune_spsm - bugfix: avoid possible crash with non-default RSB_IO_WANT_SORT_METHOD - bugfix rsb_spmv/rsb_spmm: if called with lhs-zeroing (beta==0) and transA==RSB_TRANSPOSITION_C on tiny (single submatrix) non-square matrices, off-boundaries zeroing could occur, and/or result vector would not be zeroed. - bugfix rsb_spmv/rsb_spmm: using non-square matrices with RSB_FLAG_UNIT_DIAG_IMPLICIT, off-boundaries writes may occur, with wrong results. - fix: usmm,ussm now accept (:,:)-shaped b,c parameters. Full NEWS file attached. A renewed THANKS (see README file) to all users and colleagues who contributed with insightful comments, bug reports, and testing. A big THANKS to the Debian, Octave and cygwin communities for continued precious help over the years. Michele Martone |
From: Rafael L. <ra...@de...> - 2020-08-01 10:26:06
|
Dear librsb developers, Please find attached below a patch that has been applied to the Debian package for librsb. It fixes a typo in the Doxygen documentation. Best, Rafael Laboissière |
From: Rafael L. <ra...@de...> - 2020-08-01 10:13:50
|
Dear librsb developers, Please find attached below a patch that has been applied to the Debian package for librsb. It fixes the path of the *.mtx files in the examples, so that they work out of the box after installation. Best, Rafael Laboissière |
From: Michele M. <mic...@us...> - 2020-05-19 09:30:54
|
Dear Octave users and maintainers, Dear librsb users, Version 1.0.7 of the "sparsersb" Octave package [1] is out. "sparsersb" gives Octave users transparent access to the shared-memory parallel sparse matrices library "librsb", useful when you are multiplying repeatedly huge sparse matrices, particularly symmetric ones. A summary of important user-visible changes is available online [2]; this is access operators, more efficient conversions, bugfixes. Thanks to Marco Atzeri and Fabio Cassini with testing and reporting. Happy computing with Octave, Michele [1] https://octave.sourceforge.io/sparsersb/ [2] https://octave.sourceforge.io/sparsersb/NEWS.html |
From: Michele M. <mic...@us...> - 2017-06-22 12:28:35
|
Dear librsb users, I am forwarding here this message that I sent to three Python related mailing lists yesterday; I think it could be of interest to some of you. ----- Forwarded message from Michele Martone <mic...@us...> ----- From: Michele Martone <mic...@us...> Subject: PyRSB: Python interface to librsb sparse matrices library To: sci...@py..., sci...@py..., num...@py... Date: Wed, 21 Jun 2017 11:51:55 +0200 Hi. I'm the author of the high performance multithreaded sparse matrix library `librsb' (mostly C, LGPLv3): http://librsb.sourceforge.net/ I'm *not* a user of SciPy/NumPy/Python, but using Cython I have written a proof-of-concept interface to librsb, named `PyRSB': https://github.com/michelemartone/pyrsb PyRSB is in a prototypal state; e.g. still lacks good error handling. Its interface is trivial, as it mimicks that of SciPy's 'csr_matrix'. Advantages over csr_matrix are in fast multithreaded multiplication of huge sparse matrices. Intended application area is iterative solution of linear systems; particularly fast if with symmetric matrices and many rhs. With this email I am looking for prospective: - users/testers - developers (any interest to collaborate/adopt/include the project?) Looking forward for your feedback, Michele ----- End forwarded message ----- |
From: Michele M. <mic...@us...> - 2017-06-06 14:32:33
|
Dear librsb users, There is an update to librsb to download, namely librsb-1.2.0-rc7, on https://sourceforge.net/projects/librsb/ Alongside minor things, this fixes a few recently discovered bugs. An excerpt from the NEWS file: - bugfix: rsb_spmv/rsb_spmm/BLAS_cusmv/BLAS_zusmv/BLAS_cusmm/BLAS_zusmm could compute wrong values on complex hermitian matrices if rhs imaginary part non null. - bugfix: complex conjugated transpose rsb_spsv/rsb_spsm/BLAS_cussv/ BLAS_zussv/BLAS_cussm/BLAS_zussm could compute wrong values if rhs imaginary part non null. - bugfix: rsb_sppsp/rsb_mtx_clone would compute scaled conjugate of complex matrices wrong if alpha imaginary part non null. Please note that a few months ago also version 1.2.0-rc6 has also been released; from the NEWS: - bugfix: rsb_sppsp was summing incorrectly certain non-overlapping sparse matrices. The above information suffice for users to check whether their codes have been affected. A big THANKS goes to the users who signalled the above problems, and all the users providing precious feedback, thus contributing to the quality of this library! |
From: Alberto C. <ac...@bi...> - 2017-02-27 20:53:54
|
Hi, I am trying out the library, and found no problems until I tried to find out how to retrieve a particular matrix element of a matrix. I am using the sparse BLAS interface with a Fortran program. It seems that the "blas_zusget_element" should do the trick, but a simple call such as call blas_zusget_element(a, i, j, val, istat) where a is the sparse matrix handle, i and j are integers, val is a complex variable, and istat is an integer, does not work (istat returns -1). I attach a little code that shows the problem. I am probably doing something wrong (should val simply be a Fortran complex variable?), but cannot figure it out. Any help? |
From: Michele M. <mic...@us...> - 2016-09-14 14:38:01
|
On 20160914@08:10, Marco Atzeri wrote: > On 14/09/2016 02:39, Montgomery-Smith, Stephen wrote: > > I just got an email from Michele Martone invting me to this mailing > > list. I wrote some FreeBSD ports: > > https://www.freshports.org/math/librsb/ > > https://www.freshports.org/math/octave-forge-sparsersb/ > > > > The main issue I have with installing librsb on FreeBSD is setting the > > variable RSB_USER_SET_MEM_HIERARCHY_INFO. I have a rather cryptic > > message to the port builder that says: > > > > This port needs information about the memory cache system before > > building. You can set this in the variable > > RSB_USER_SET_MEM_HIERARCHY_INFO, for example make > > RSB_USER_SET_MEM_HIERARCHY_INFO="L2:12/64/3M,L1:64/8/32K" > > Finding these values is tricky, but the following steps will help: > > 1. read the README file in the source code > > 2. build the port misc/cpuid > > 3. run the program cpuid > > You are on your own in figuring out how to convert the information from > > the program cpuid to the value of RSB_USER_SET_MEM_HIERARCHY_INFO. > > > > > > I found it quite hard to convert the info from the program cpuid to some > > reasonable cache values. This was quite a while ago, but I think it > > involved a lot of using google. > > > > If anyone is interested in making this process more automated, I'll > > happily send you a sample output from cpuid, and any other help I can > > provide. > > > > Thanks, Stephen > > ------------------------------------------------------------------------------ > > Dear Stephan, > one way to overcome the problem is to build librsb with "--with-hwloc" > > This solved my problem on the cygwin porting, and if I am not wrong > hwloc is available on FreeBSD > > > https://www.freshports.org/devel/hwloc/ > > Regards > Marco Hi Stephen, Welcome to the librsb mailing list. Is the --with-hwloc solution suggested by Marco a viable one ? I hope yes; if not, we can work out another one. Michele |
From: Marco A. <mar...@gm...> - 2016-09-14 06:10:19
|
On 14/09/2016 02:39, Montgomery-Smith, Stephen wrote: > I just got an email from Michele Martone invting me to this mailing > list. I wrote some FreeBSD ports: > https://www.freshports.org/math/librsb/ > https://www.freshports.org/math/octave-forge-sparsersb/ > > The main issue I have with installing librsb on FreeBSD is setting the > variable RSB_USER_SET_MEM_HIERARCHY_INFO. I have a rather cryptic > message to the port builder that says: > > This port needs information about the memory cache system before > building. You can set this in the variable > RSB_USER_SET_MEM_HIERARCHY_INFO, for example make > RSB_USER_SET_MEM_HIERARCHY_INFO="L2:12/64/3M,L1:64/8/32K" > Finding these values is tricky, but the following steps will help: > 1. read the README file in the source code > 2. build the port misc/cpuid > 3. run the program cpuid > You are on your own in figuring out how to convert the information from > the program cpuid to the value of RSB_USER_SET_MEM_HIERARCHY_INFO. > > > I found it quite hard to convert the info from the program cpuid to some > reasonable cache values. This was quite a while ago, but I think it > involved a lot of using google. > > If anyone is interested in making this process more automated, I'll > happily send you a sample output from cpuid, and any other help I can > provide. > > Thanks, Stephen > ------------------------------------------------------------------------------ Dear Stephan, one way to overcome the problem is to build librsb with "--with-hwloc" This solved my problem on the cygwin porting, and if I am not wrong hwloc is available on FreeBSD https://www.freshports.org/devel/hwloc/ Regards Marco |
From: Montgomery-Smith, S. <st...@mi...> - 2016-09-14 01:14:29
|
I just got an email from Michele Martone invting me to this mailing list. I wrote some FreeBSD ports: https://www.freshports.org/math/librsb/ https://www.freshports.org/math/octave-forge-sparsersb/ The main issue I have with installing librsb on FreeBSD is setting the variable RSB_USER_SET_MEM_HIERARCHY_INFO. I have a rather cryptic message to the port builder that says: This port needs information about the memory cache system before building. You can set this in the variable RSB_USER_SET_MEM_HIERARCHY_INFO, for example make RSB_USER_SET_MEM_HIERARCHY_INFO="L2:12/64/3M,L1:64/8/32K" Finding these values is tricky, but the following steps will help: 1. read the README file in the source code 2. build the port misc/cpuid 3. run the program cpuid You are on your own in figuring out how to convert the information from the program cpuid to the value of RSB_USER_SET_MEM_HIERARCHY_INFO. I found it quite hard to convert the info from the program cpuid to some reasonable cache values. This was quite a while ago, but I think it involved a lot of using google. If anyone is interested in making this process more automated, I'll happily send you a sample output from cpuid, and any other help I can provide. Thanks, Stephen |
From: Michele M. <mic...@us...> - 2016-08-05 07:26:31
|
Dear librsb users, I have updated the tarball of the librsb release to version 1.2.0-rc4 on http://sourceforge.net/projects/librsb/ in order to implement a number of more or less important fixes, including fixing a few bugs. For the GNU Octave sparsersb plugin ( http://octave.sourceforge.net/sparsersb/index.html ) users: older librsb releases won't be compatible with the latest sparsersb-1.0.1 version; this one it is. Please see the NEWS file for details. Michele |
From: John D. <joh...@gm...> - 2015-11-14 15:25:01
|
On 11/14/2015 09:53 AM, Michele Martone wrote: > On 20151114@07:58, John Donoghue wrote: >> Hi, >> >> I had a few minor issues attempting to compile librsb (1.2.0-rc2) >> for mxe-octave (compiling as a cross build for windows 32) >> >> Firstly, mingw does not appear to appear to have bzero, however it >> does have memset - both which are checked for in configure, but >> bzero is used (or is shows a error) >> >> Secondly, since we are cross building, creating the ch2icfb program >> must be built for the host compiler not the target as it is used to >> generate other code during the build progress. >> >> Diff of the changes i did to get it to compile are attached > > Hi John, > > thank you for the patch. > > The part pertaining rsb_sys.h: > +#elif RSB_HAVE_MEMSET > +#define RSB_BZERO(a,b) memset(a,0,b) > will be present in the next release candidate. > > But for the Makefile.am patch I must think a bit. > With the ch2icfb_* variables there are advantages (e.g. make clean). > The patch you suggest: > -noinst_PROGRAMS+=ch2icfb$(EXEEXT) > -ch2icfb_SOURCES=ch2icfb.c > -ch2icfb_CFLAGS=$(CFLAGS) > -ch2icfb_LDADD= > +#noinst_PROGRAMS+=ch2icfb$(EXEEXT) > +#ch2icfb_SOURCES=ch2icfb.c > +#ch2icfb_CFLAGS=$(CFLAGS) > +#ch2icfb_LDADD= > +BUILD_CC ?= $(CC) > +ch2icfb: ch2icfb.c > + $(BUILD_CC) -o ch2icfb ch2icfb.c > makes the Makefile a little less standard... > > However, ch2icfb is needed to generate rsb.F90 --- which is not > necessary to Octave/sparsersb --- you should be able to > ./configure --disable-sparse-blas-interface > without the Makefile.am patch and it should work fine. > Could you please try this ? > > Michele looks like it worked - thanks! |
From: Michele M. <mic...@us...> - 2015-11-14 14:50:23
|
On 20151114@07:58, John Donoghue wrote: > Hi, > > I had a few minor issues attempting to compile librsb (1.2.0-rc2) > for mxe-octave (compiling as a cross build for windows 32) > > Firstly, mingw does not appear to appear to have bzero, however it > does have memset - both which are checked for in configure, but > bzero is used (or is shows a error) > > Secondly, since we are cross building, creating the ch2icfb program > must be built for the host compiler not the target as it is used to > generate other code during the build progress. > > Diff of the changes i did to get it to compile are attached Hi John, thank you for the patch. The part pertaining rsb_sys.h: +#elif RSB_HAVE_MEMSET +#define RSB_BZERO(a,b) memset(a,0,b) will be present in the next release candidate. But for the Makefile.am patch I must think a bit. With the ch2icfb_* variables there are advantages (e.g. make clean). The patch you suggest: -noinst_PROGRAMS+=ch2icfb$(EXEEXT) -ch2icfb_SOURCES=ch2icfb.c -ch2icfb_CFLAGS=$(CFLAGS) -ch2icfb_LDADD= +#noinst_PROGRAMS+=ch2icfb$(EXEEXT) +#ch2icfb_SOURCES=ch2icfb.c +#ch2icfb_CFLAGS=$(CFLAGS) +#ch2icfb_LDADD= +BUILD_CC ?= $(CC) +ch2icfb: ch2icfb.c + $(BUILD_CC) -o ch2icfb ch2icfb.c makes the Makefile a little less standard... However, ch2icfb is needed to generate rsb.F90 --- which is not necessary to Octave/sparsersb --- you should be able to ./configure --disable-sparse-blas-interface without the Makefile.am patch and it should work fine. Could you please try this ? Michele |
From: John D. <joh...@gm...> - 2015-11-14 12:58:58
|
Hi, I had a few minor issues attempting to compile librsb (1.2.0-rc2) for mxe-octave (compiling as a cross build for windows 32) Firstly, mingw does not appear to appear to have bzero, however it does have memset - both which are checked for in configure, but bzero is used (or is shows a error) Secondly, since we are cross building, creating the ch2icfb program must be built for the host compiler not the target as it is used to generate other code during the build progress. Diff of the changes i did to get it to compile are attached JD |
From: Michele M. <mic...@us...> - 2015-10-25 15:58:18
|
Dear librsb users, I have updated again (after a few days) the tarball of librsb release 1.2.0-rc2 on http://sourceforge.net/projects/librsb/ in order to implement a fix to the rsb_mtx_add_to_dense function. For the GNU Octave sparsersb plugin ( http://octave.sourceforge.net/sparsersb/index.html ) users: this update does not affect you, in that rsb_mtx_add_to_dense() is not being used by sparsersb. Michele |
From: Michele M. <mic...@us...> - 2015-10-25 15:57:26
|
Dear librsb users, Maintenance release 1.1.0-rc3 of librsb is available from http://sourceforge.net/projects/librsb/ This update fixes: - a bug in rsb_mtx_add_to_dense() - minor build problems - the documentation - other minor stuff Please consult the NEWS file for full details. Michele |
From: Michele M. <mic...@us...> - 2015-10-25 15:56:39
|
Dear librsb users, Maintenance release 1.0.0-rc8 of librsb is available from http://sourceforge.net/projects/librsb/ This update fixes: - a bug in rsb_mtx_add_to_dense() - a bug in rsb_mtx_get_rows_sparse() - minor build problems - the documentation Please consult the NEWS file for full details. Michele |