Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace atlas with multithreaded OpenBLAS to speed-up on multi-core CPU for the boost-eigen branch #82

Merged
merged 1 commit into from
Feb 10, 2014

Conversation

kloudkl
Copy link
Contributor

@kloudkl kloudkl commented Feb 7, 2014

Multi-threaded OpenBLAS makes a huge performance difference. The benchmarks with and without it in comments to #16 demonstrated more than 5 times speed-up for boost-eigen and MKL on a machine with 4 Hyper-Threading CPU cores (supporting 8 threads).

This fixes #79.

@shelhamer shelhamer merged this pull request into BVLC:boost-eigen Feb 10, 2014
@kloudkl kloudkl deleted the multithreaded_openblas branch February 11, 2014 05:45
@rowlanddepp
Copy link

Is it possible we make openblas an optional but not default blas backend? Per @kloudkl one needs to add a custom repository

sudo add-apt-repository ppa:marutter/rdev
sudo apt-get update
sudo apt-get install libopenblas-base

which one may not be very comfortable about. Given the fact that openblas is in its beta form, relying on it in default seems to be tricky.

@kloudkl
Copy link
Contributor Author

kloudkl commented Feb 12, 2014

OpenBLAS, the inheritor of GotoBlas2, is released by the official Ubuntu repository. But the package bundled before Saucy Salamander is single-threaded. All Michael Rutter has done is to port the official multi-threaded version back to the earlier distribution. If you are working on the most recent version of Ubuntu, you can just skip adding the ppa repo. There is no foundamental difference.

Benchmarking results lead to the conclusion that OpenBLAS is very competitive in the arena of BLAS libraries.

Welcome suggestions of better alternatives.

@Yangqing
Copy link
Member

In fact, in the long run one will be able to simply link to blas and
ubuntu's update-alternatives will figure out which backend to link against.
Until then I would probably suggest keeping things simple, note in the
documentation that openblas is a possible choice, and one can do manual
changes to the makefile if desired.

Note that the current LTS is still 12.04 Precise, which is likely most
people are using.

Yangqing

On Tue, Feb 11, 2014 at 10:33 PM, kloudkl notifications@github.com wrote:

OpenBLAS, the inheritor of GotoBlas2, is released by the official Ubuntu
repository. But the package bundled before Saucy Salamander is
single-threaded. All Michael Rutter has done is to port the official
multi-threaded version back to the earlier distribution.http://tagteam.harvard.edu/hub_feeds/1981/feed_items/244738If you are working on the most recent version of Ubuntu, you can just skip
adding the ppa repo. There is no foundamental difference.

Benchmarkinghttp://cran.r-project.org/web/packages/gcbd/vignettes/gcbd.pdf
results http://nghiaho.com/?p=1726 lead to the conclusion that OpenBLAS
is very competitive in the arena of BLAS libraries.

Welcome suggestions of better alternatives.

Reply to this email directly or view it on GitHubhttps://github.com//pull/82#issuecomment-34843060
.

@kloudkl kloudkl mentioned this pull request Apr 11, 2014
thatguymike pushed a commit to thatguymike/caffe that referenced this pull request Dec 2, 2015
happynear pushed a commit to happynear/caffe that referenced this pull request May 12, 2016
Pull monthly changes from bvlc/windows
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants