On 20111113@23:09, Carlo de Falco wrote:
> On 13 Nov 2011, at 23:02, c. wrote:
> > On 13 Nov 2011, at 22:20, Alexander Barth wrote:
> >> Dear Michele,
> >> 
> >> I would like to try the suggestion of Filippone, but I sumbled upon a
> >> a segmentation fault for the following matrix multiplication:
> >> 
> >> load test.mat % http://modb.oce.ulg.ac.be/mediawiki/upload/Alex/test.matbut
> >> [i,j,s]=find(A);
> >> A2 = sparsersb(i,j,s);
> >> [i,j,s]=find(extx);
> >> extx2 = sparsersb(i,j,s);
> >> extx2*A2;
> >> 
> >> panic: Segmentation fault -- stopping myself...
> >> attempting to save variables to `octave-core'...
> >> save to `octave-core' complete
> >> Segmentation fault
> >> 
> >> Any help would be appreciated,
> >> Cheers,
> >> Alex
> > 
> > Alex, 
> > FYI, your example is working fine for me:
> > 
> >>> load test.mat
> >>> A2 = sparsersb (A);
> >>> extx2 = sparsersb (extx);
> >>> x2 = A2 * extx2;
> >>> [ia, ja, va] = find (A);
> >>> [ie, je, ve] = find (extx);
> >>> A3 = sparsersb (ia, ja, va);
> >>> extx3 = sparsersb (ie, je, ve);
> >>> x3 = A3 * extx3;
> > 
> > What version of Octave are you using? how did you install sparsersb?
> > c.
> 
> OTH, if I run the example repeatedly I also get a crash, eventually:
> 
> $ RSB_USER_SET_MEM_HIERARCHY_INFO="L2:4/64/3M,L1:8/64/32K"  octave -q
> >> load test.mat
> >> A2 = sparsersb (A);
> >> extx2 = sparsersb (extx);
> >> x2 = A2 * extx2;
> >> x2 = A2 * extx2;
> >> x2 = A2 * extx2;
> ... 
Dear Alex, Carlo,

Thanks, you catched another bug(s)!

Indeed, sparse-sparse product is not a well tested feature: I wrote it
more for the challenge/fun of having it, to be honest.
It's parallel, however I wonder how much efficient.

By the way, it seems like even:
 A=[1];B=sparsersb(A);C=sparsersb(A);D=B*C;
is enough to make it crash.
I'll definitely have to investigate --- please do not report about it
until I propose some update about it.

I wonder how much critical this operation is in linear system solving
applications.
This information would be useful in order to settle priorities in
bugfixing; do you have an idea about this ?

p.s.:
I suggest to make some test in sparsersb vs dense product (without subsref);
E.g.: A=sparsersb([1]);B=[1,1];D=A*B;
and bigger systems, with at least more right hand sides.

p.s.: In the future, sparsersb should also need to align to Octave's policy
of handling triangular solution to matrices with no diagonal, and to a
wealth of such "corner cases" which I currently ignore. 

p.s.: Recompiling librsb by adding --with-internal-error-verbosity=1 to
the configure arguments (then make clean;make) would be a good idea :)

Attachment: pgphMW6GYMfMW.pgp
Description: PGP signature

------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Octave-dev mailing list
Octave-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/octave-dev

Reply via email to