Add cuDNN v5 support, drop cuDNN v3 support #4159

Merged
merged 3 commits into from May 17, 2016

Conversation

Projects
None yet
5 participants
Contributor

flx42 commented May 16, 2016 edited

cuDNN v5 is now out, since PR #3919 is still being discussed, we need a solution to allow users to compile caffe with the new cuDNN version.
This PR is the bare minimum to enable cuDNN v5 with caffe while still being compatible with cuDNN v4 to give some time for users to transition to the newer version.
cuDNN v3 support is dropped to avoid further #ifdef hell.

Ping @longjon @shelhamer @ajtulloch

Contributor

thatguymike commented May 16, 2016

Note that without the memory management changes and some of the commits to use it to enable more algorithms in cuDNN, performance is still far from Nvidia's caffe branch for most popular networks.

Owner

shelhamer commented May 17, 2016

Thanks for the minimal patch for compatibility @flx42! Thanks for noting the difference with further integration of the new algorithms in v5 @thatguymike.

With merge I will post the version change to the mailing list and publish the latest version of the Caffe site to incorporate the doc change.

We will turn to the full integration of cuDNN v5 after the NIPS deadline 05/20.

@shelhamer shelhamer merged commit 7cf3538 into BVLC:master May 17, 2016

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

Coderx7 commented Aug 20, 2016

what is the status of cudnn v5 now? Is it still WIP or is it finally dealt with like nvidia branch?

Owner

shelhamer commented Aug 20, 2016

Caffe has been cuDNN v5 compatible since this PR was merged. However, certain memory hungry convolution algorithms are more practical with CUB memory pool integration, which is still in progress.

@fxbit fxbit added a commit to Yodigram/caffe that referenced this pull request Sep 1, 2016

@shelhamer @fxbit shelhamer + fxbit Merge pull request #4159 from flx42/cudnn_v5_support
Add cuDNN v5 support, drop cuDNN v3 support
bc69c16

lld533 commented on b43c8e4 Sep 3, 2016

In Line ~40 of cudnn_{tanh, sigmoid, relu}layer.cpp, to prevent possible memory leak, it's better to destroy activation descriptor by calling "cudnnDestroyActivationDescriptor(this->activ_desc)"; before destroy the handle_. Much thanks.

Contributor

flx42 replied Sep 3, 2016

@lld533: you should submit a PR then.

@ningzhou ningzhou referenced this pull request in ShuangLI59/person_search Oct 25, 2016

Ning Zhou add cuDNN v5 support, drop cuDNN v3 support 622ff2b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment