[mlpack-git] [mlpack/mlpack] Basic matrix multiplication error when done multiple times (#759)

Mike notifications at github.com
Tue Aug 9 10:34:52 EDT 2016


Thanks for your replies. 
I am actually setting LD_LIBRARY_PATH to add /home/usrname/lib/mlpacklib/lib:/home/usrname/lib/Boost161/lib:
These are both libraries that I installed locally, to a different-from-default directory. 

ldd output:

	linux-vdso.so.1 =>  (0x00007ffef8fca000)
	libmlpack.so.2 => /home/usrname/lib/mlpacklib/lib/libmlpack.so.2 (0x00007f651dc79000)
	libarmadillo.so.7 => /usr/lib64/libarmadillo.so.7 (0x00007f651da70000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f651d6a2000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f651d48c000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f651d0c2000)
	libboost_program_options.so.1.61.0 => /home/usrname/lib/Boost161/lib/libboost_program_options.so.1.61.0 (0x00007f651ce42000)
	libboost_serialization.so.1.61.0 => /home/usrname/lib/Boost161/lib/libboost_serialization.so.1.61.0 (0x00007f651cc00000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f651c8f6000)
	libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f651c6d4000)
	/lib64/ld-linux-x86-64.so.2 (0x0000559a31c77000)
	libmkl_rt.so => /opt/intel/composer_xe_2015.1.133/mkl/lib/intel64/libmkl_rt.so (0x00007f651c16c000)
	libarpack.so.2 => /usr/lib/libarpack.so.2 (0x00007f651bf20000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f651bd03000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f651bafe000)
	liblapack.so.3 => /usr/lib/liblapack.so.3 (0x00007f651b31b000)
	libblas.so.3 => /usr/lib/libblas.so.3 (0x00007f651b0ba000)
	libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007f651ad8e000)
	libopenblas.so.0 => /usr/lib/libopenblas.so.0 (0x00007f6518cfa000)
	libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f6518aba000)

I recently got access to another computer and it seems it works (so far). 
g++ 4.9 is used instead of 5.4, and boost 1.49 is used instead of 1.61

ldd output:
	linux-vdso.so.1 =>  (0x00007fffc17e0000)
	libmlpack.so.2 => /usr/local/lib/libmlpack.so.2 (0x00007f5b71c40000)
	libarmadillo.so.7 => /usr/lib/libarmadillo.so.7 (0x00007f5b71a18000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f5b71708000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f5b714f0000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5b71130000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5b70f10000)
	libboost_program_options.so.1.49.0 => /usr/lib/libboost_program_options.so.1.49.0 (0x00007f5b70ca8000)
	libboost_serialization.so.1.49.0 => /usr/lib/libboost_serialization.so.1.49.0 (0x00007f5b70a38000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5b70738000)
	libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f5b70520000)
	libmkl_rt.so => /opt/intel/composer_xe_2011_sp1.9.293/mkl/lib/intel64/libmkl_rt.so (0x00007f5b6ffa8000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f5b72128000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f5b6fda0000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5b6fb98000)

Differences exist, since no lapack, openblas appear on the latter. A bit clueless by now...
I might try to downgrade to boost 1.49 and see what happens in my usual computer. 

Besides, I have observed one fact when using gdb GNU debugger (see two runs below):
#successful run
Starting program: /home/usrname/folder/data/safe/a.out 
[Thread debugging using libthread_db enabled]
 [Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff2771700 (LWP 30726)]
[New Thread 0x7ffff1f70700 (LWP 30727)]
[New Thread 0x7fffef76f700 (LWP 30728)]
[New Thread 0x7ffff7fc4700 (LWP 30729)]
[New Thread 0x7fffe5507700 (LWP 30730)]
[New Thread 0x7fffe5106700 (LWP 30731)]
[New Thread 0x7fffe4d05700 (LWP 30732)]
i.rows=400 i.cols=1 i399=61
[Thread 0x7fffef76f700 (LWP 30728) exited]
[Thread 0x7ffff1f70700 (LWP 30727) exited]
[Thread 0x7ffff2771700 (LWP 30726) exited]
[Thread 0x7fffe4d05700 (LWP 30732) exited]
[Thread 0x7fffe5106700 (LWP 30731) exited]
[Thread 0x7fffe5507700 (LWP 30730) exited]
[Thread 0x7ffff7fc4700 (LWP 30729) exited]
[Inferior 1 (process 30725) exited normally] 

#unsuccessful run
(gdb) run
Starting program: /home/usrname/folder/data/safe/a.out 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff2771700 (LWP 30734)]
[New Thread 0x7ffff1f70700 (LWP 30735)]
[New Thread 0x7fffef76f700 (LWP 30736)]
[New Thread 0x7ffff7fc4700 (LWP 30737)]
[New Thread 0x7fffe5507700 (LWP 30738)]
[New Thread 0x7fffe5106700 (LWP 30739)]
[New Thread 0x7fffe4d05700 (LWP 30740)]
i.rows=400 i.cols=1 i399=172*
[Thread 0x7fffef76f700 (LWP 30736) exited]
[Thread 0x7ffff1f70700 (LWP 30735) exited]
[Thread 0x7ffff2771700 (LWP 30734) exited]
[Thread 0x7fffe4d05700 (LWP 30740) exited]
[Thread 0x7fffe5507700 (LWP 30738) exited]
[Thread 0x7fffe5106700 (LWP 30739) exited]
[Thread 0x7ffff7fc4700 (LWP 30737) exited]
[Inferior 1 (process 30733) exited normally]

It seems that the order on which threads exit change when the program is run without obtaining the desired output.

---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/mlpack/mlpack/issues/759#issuecomment-238572675
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.cc.gatech.edu/pipermail/mlpack-git/attachments/20160809/8b607907/attachment-0001.html>


More information about the mlpack-git mailing list