-
Notifications
You must be signed in to change notification settings - Fork 18.7k
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
add option for lmdb #431
add option for lmdb #431
Conversation
Thanks for the rebase and making this optional! However, it doesn't build. Perhaps a missing include?
|
@shelhamer I did include lmdb.h in the data_layer.hpp file. |
Yeah I'm trying to figure out what's going on with the homebrew lmdb. Its header file does not include MDB_NOTLS flag, but all other ones I can find on the internet do. Trying to build lmdb from source right now |
Alright, this works fine on Ubuntu 12.04, although I had to install from source since there isn't a package:
|
@sergeyk if you get lmdb to install right on osx please PR it to homebrew. |
Okay, I got lmdb to work correctly with this brew recipe: https://gist.github.com/sergeyk/bb8274c218ada01d1fea @shelhamer could you check that this works for you? |
@mavenlin Great PR! One last thing: could you include a test for the lmdb functionality? It should go into test_data_layer.cpp; you basically need to add a FillLMDB method, analogous to FillLevelDB, and then include some cases. Bonus contributor points if you also adjust the docs/installation.md to note the new dependency on lmdb |
@sergeyk your formula works for me, and clones from the same repo I built on linux. I dropped my homebrew fork to silence some notifications, could you PR it? |
@mavenlin As soon as you include a test for the lmdb functionality (see my comment above), we will merge. I like LMDB. |
Hi @sergeyk, I've been busy with my project these days, I'll get back asap. |
NIPS time, we're in the same boat. Thanks! |
@sergeyk I've updated the tests, basically just copied from test_data_layer, changed FillLevelDB to FillLMDB. |
cpu/gpu and leveldb/lmdb; now just one copy of each test body
lmdb now properly installs by homebrew as of Homebrew/legacy-homebrew@182654e |
@sergeyk fyi I did some testing and cleanup of this last night, looks good to merge to me. |
(Though ideally we'd have an option in |
Tools added, if anything missing, please let me know. |
Looks great, thanks for the great PR @mavenlin! I'm a new fan of |
Add support for LMDB (LevelDB alternative)
@sguada @kloudkl @sergeyk
|
(3) is easiest, (2) is best. @mavenlin want to take a stab at (3)? |
@sergeyk no problems |
Likewise, OpenCL is optional in #415. It's up to the users to enable it explicitly. |
@mavenlin could you also add the instructions to install lmdb to the documentation? |
LMDB is in Ubuntu repos already... https://launchpad.net/ubuntu/+source/lmdb |
@hyc but in trusty tahr only? |
What kernel is in trusty tahr? We've hit a lot of performance issues in recent kernels. http://www.openldap.org/lists/openldap-technical/201312/msg00133.html |
@hyc We also tried downgrading the kernel to older ones, but failed. We didn't explore more on this but just downgrade the whole system to 13.10. |
@hyc Oh, I didn't mean that lmdb is slowed down on 14.04, either with leveldb and lmdb the performance got very slow. I think it is cuda, as previous issues pointed out that some versions of nvidia drivers cause caffe to be slow. Only a limited number of nvidia drivers can be installed on 14.04, older versions usually fail the installation. |
@mavenlin the installation docs still need updating to include lmdb for at least Ubuntu 12.04 and OS X since these are the official platforms (and ideally more recent Ubuntu versions too). Thanks. |
Add support for LMDB (LevelDB alternative)
This is to replace PR #386.