Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum. |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
09-26-2014, 02:34 PM
|
#1
|
Member
Registered: Apr 2007
Location: Dallas
Distribution: Slackware64 14.2
Posts: 283
Rep:
|
How do you get ATLAS to work?
I originally installed BLAS and LAPACK and then libraries that depend on them ( GSL, Armadillo). Later I installed ATLAS but as far as I can see, I'm not getting any improvement. I removed CBLAS since ATLAS seems to replace that lib and I rebuilt LAPACK, GSL and Armadillo in hopes that would connect them up. But I can't see anything in the dependencies that suggests they are actually invoking ATLAS. Times runs of the 'eigen' function are unchanged. Maybe I don't understand what it's about but I expected some performance improvement.
|
|
|
09-30-2014, 06:10 PM
|
#2
|
LQ Newbie
Registered: Sep 2014
Posts: 5
Rep:
|
As I understand it, ATLAS builds its own versions of LAPACK and CBLAS. After you build it, check if you have the CBLAS and LAPACK libraries in the build.
The Trusty package for libatlas-base has the following files:
Quote:
/usr/lib/atlas-base/libcblas.so.3.0
/usr/lib/atlas-base/atlas/liblapack.so.3.0
/usr/lib/atlas-base/atlas/libblas.so.3.0
/usr/lib/atlas-base/libf77blas.so.3.0
/usr/lib/atlas-base/libatlas.so.3.0
/usr/lib/atlas-base/liblapack_atlas.so.3.0
/usr/lib/liblapack_atlas.so.3
/usr/lib/liblapack_atlas.so.3gf
/usr/lib/libcblas.so.3
/usr/lib/libcblas.so.3gf
/usr/lib/libatlas.so.3
/usr/lib/libatlas.so.3gf
/usr/lib/atlas-base/liblapack_atlas.so.3
/usr/lib/atlas-base/libcblas.so.3
/usr/lib/atlas-base/libatlas.so.3
/usr/lib/atlas-base/atlas/liblapack.so.3
/usr/lib/atlas-base/atlas/libblas.so.3
/usr/lib/atlas-base/libf77blas.so.3
/usr/lib/libf77blas.so.3
/usr/lib/libf77blas.so.3gf
|
(Directories and documentation omitted.)
If you have separate LAPACK and/or CBLAS libraries in the ATLAS build, you should link to those and not to the ones you built directly from LAPACK.
|
|
|
10-02-2014, 03:26 PM
|
#3
|
Member
Registered: Apr 2007
Location: Dallas
Distribution: Slackware64 14.2
Posts: 283
Original Poster
Rep:
|
Thanks, I'll look into that, These is no such dir as /usr/lib/atlas-base so I will have to hunt for it. And WELCOME to LQ. I see you're new here and it's good to see new people.
...
Okay, I've checked. The only libs I can find are /usr/lib64/libatlas.a and /usr/lib64/libatlas.so
Last edited by rdx; 10-02-2014 at 03:37 PM.
|
|
|
10-02-2014, 05:43 PM
|
#4
|
LQ Newbie
Registered: Sep 2014
Posts: 5
Rep:
|
Why, thank you, good sir! Thanks for the warm welcome. New to the forum, but Linux (ab)user since 1994.
Back to your issue: You mention that your builds of Armadillo, GSL, and LAPACK show no dependency on libatlas.so. I assume you figured that out by running ldd on all applications and libraries involved.
It appears that you have to manually change the build files for each of the three above to use atlas. Did you just rebuild the three after you uninstalled CBLAS? Or did you modify the make files to include the new libraries? Could you possibly include the output of the Armadillo cmake?
Finally: did you check the time stamps on the binaries to ensure that they are newly built and not simply left over from the previous build?
|
|
1 members found this post helpful.
|
10-08-2014, 06:43 PM
|
#5
|
Member
Registered: Apr 2007
Location: Dallas
Distribution: Slackware64 14.2
Posts: 283
Original Poster
Rep:
|
Are you asking for "CMakeCache.txt"? If so, I can copy it over. I have been doing more reading and I have added a couple more libs, OpenBLAS (to get parallel processing) and lapack-atlas (to explicitly include ATLAS).
I am also wondering why GSL is so slow. I have a test program which computes the SVD of a 3000x3000 matrix. When I run it with GSL it takes over 19 mins to run. When I run the same program with Armadillo, it runs in 45 sec. It is nearly as fast with Octave so GSL is the outlier.
I've been messing with these programs and at least one thing is working: OpenBLAS is successfully integrated. Now my test program is much faster. On C++ (armadillo lib) it runs in 12.5 sec( was 45 sec), with GSL it's down to 16 min (orig 22 min). Python (scipy lib) runs it in 23 sec. Even Octave is doing better, 34 sec (was 58 sec), although it is not using parallel processes. I'm pretty happy with that.
Last edited by rdx; 10-09-2014 at 04:54 AM.
Reason: adding results of testing
|
|
|
All times are GMT -5. The time now is 01:11 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|