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

CUDNN v4 upgrade. Optionally, CNMEM used for GPU pool allocation. #42

Merged
merged 65 commits into from
Oct 21, 2015

Conversation

borisfom
Copy link

Note: CNMEM(https://github.com/NVIDIA/cnmem.git) submodule added at caffe/cnmem.

Attention:

  1. ./cnmem is not getting populated by default with 'git clone' or pull.
    To populate added CNMEM submodule, do 'git submodule update'.
    Alernatively, CNMEM can be pulled externally from https://github.com/NVIDIA/cnmem.git.
    Caffe does not make any assumptions about actual CNMEM code location at the time.
  2. CNMEM has to be built separately. Refer to CNMEM's README.md
  3. CMNEM pool is turned on by default. It can be turned off by adding 'false' parameter to the constructor of caffe::MemoryManager object in caffe_main.cpp and/or test_caffe_main.cpp.

timmeinhardt and others added 30 commits September 25, 2015 12:05
Add argmax_param "axis" to maximise output along the specified axis
488f126

Conflicts:
	Makefile
	Makefile.config.example
	src/caffe/layers/cudnn_conv_layer.cpp
	src/caffe/layers/cudnn_conv_layer.cu
	src/caffe/layers/cudnn_lcn_layer.cpp
	src/caffe/layers/cudnn_lcn_layer.cu
438add5

Conflicts:
	CMakeLists.txt
	cmake/Templates/CaffeConfig.cmake.in
38d6baf

Conflicts:
	src/caffe/layers/cudnn_conv_layer.cpp
	src/caffe/layers/cudnn_conv_layer.cu
dummy alloc / free in MemoryHandlerActivator to ensure that
the memory pool has been set up before any potential operations
add badge for travis build and license
Useful for exporting models from MATLAB (e.g. MatConvNet) to Caffe
Add a caffe.io.write_mean function to the MATLAB interface
…fixes

Documentation References ImageNet Sample Location
@@ -8,6 +8,9 @@ env:
- WITH_CUDA=true WITH_CMAKE=true WITH_IO=true
- WITH_CUDA=false WITH_CMAKE=false WITH_IO=false
- WITH_CUDA=false WITH_CMAKE=true WITH_IO=false PYTHON_VERSION=3
# Currently there is no way to install cudnn via apt-get. Uncomment wjen it's available.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check spelling

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed.

@lukeyeager
Copy link
Member

Woohoo, all the tests are passing! Now lets clean up the commit history and get this merged!

  • There are several commits that are unrelated to this PR - how did those get in there?
  • There are a lot of useless "fix" and "merge" commits - let's squash those together.

We don't need to get it down to a single commit - we can preserve authorship - but let's pare it down to a reasonable number of commits with clear commit messages explaining the contribution of each.

Also, the .gitmodules file is still there even after you removed it. Not sure what's going on there.

@borisfom
Copy link
Author

Done going through the notes - I have removed .gitmodules, too!
Please squash commits as you see fit!

@lukeyeager
Copy link
Member

Awesome thanks. Ok, I'll give it a shot.

@lukeyeager
Copy link
Member

Ok I give up. If I want to remove or squash commits I have to use git rebase -i, but I can't do that without removing all merge commits and attempting to turn the history into a linear stream of commits, which leads to lots of tricky merge commits. Not worth it.

On the bright side, we still have a working cuDNN v4 integration!

lukeyeager added a commit that referenced this pull request Oct 21, 2015
CUDNN v4 upgrade.  Optionally, CNMEM used for GPU pool allocation.
@lukeyeager lukeyeager merged commit c3cd5c8 into NVIDIA:caffe-0.14 Oct 21, 2015
@borisfom
Copy link
Author

Great news, thanks Luke!

From: Luke Yeager <[email protected]mailto:[email protected]>
Reply-To: NVIDIA/caffe <[email protected]mailto:[email protected]>
Date: Tuesday, October 20, 2015 at 5:48 PM
To: NVIDIA/caffe <[email protected]mailto:[email protected]>
Cc: Boris Fomitchev <[email protected]mailto:[email protected]>
Subject: Re: [caffe] CUDNN v4 upgrade. Optionally, CNMEM used for GPU pool allocation. (#42)

Ok I give up. If I want to remove or squash commits I have to use git rebase -i, but I can't do that without removing all merge commits and attempting to turn the history into a linear stream of commits, which leads to lots of tricky merge commits. Not worth it.

On the bright side, we still have a working cuDNN v4 integration!

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


This email message is for the sole use of the intended recipient(s) and may contain
confidential information. Any unauthorized review, use, disclosure or distribution
is prohibited. If you are not the intended recipient, please contact the sender by

reply email and destroy all copies of the original message.

endif
endif

PROJECT_DIR=$(PWD)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@borisfom why did you add this PROJECT_DIR variable? It broke my debian packaging. Is it really necessary?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I needed so set paths to absolute, let’s discuss this.

From: Luke Yeager [mailto:[email protected]]
Sent: Wednesday, October 21, 2015 5:38 PM
To: NVIDIA/caffe
Cc: Boris Fomitchev
Subject: Re: [caffe] CUDNN v4 upgrade. Optionally, CNMEM used for GPU pool allocation. (#42)

In Makefilehttps://github.com//pull/42#discussion_r42700544:

@@ -7,12 +7,27 @@ $(error $(CONFIG_FILE) not found. See $(CONFIG_FILE).example.)

endif

include $(CONFIG_FILE)

+# Rectify input parameters

+ifeq ($(CPU_ONLY),1)

  • USE_CUDNN=0
  • USE_CNMEM=0

+endif

+ifeq ($(USE_CUDNN),1)

+# CNMEM is ON by default in CUDNN is ON

  • ifeq ($(USE_CNMEM),)
  • USE_CNMEM=1
  • endif

+endif

+PROJECT_DIR=$(PWD)

@borisfomhttps://github.com/borisfom why did you add this PROJECT_DIR variable? It broke my debian packaging. Is it really necessary?


Reply to this email directly or view it on GitHubhttps://github.com//pull/42/files#r42700544.


This email message is for the sole use of the intended recipient(s) and may contain
confidential information. Any unauthorized review, use, disclosure or distribution
is prohibited. If you are not the intended recipient, please contact the sender by

reply email and destroy all copies of the original message.

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.