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

Some work with CUDNN #2797

Open
wants to merge 27 commits into
base: master
Choose a base branch
from
Open

Some work with CUDNN #2797

wants to merge 27 commits into from

Conversation

danpovey
Copy link
Contributor

Still preliminary; not working yet.

galv and others added 17 commits September 15, 2018 16:26
Currently, this assumes that cudnn is installed in
/usr/local/cuda/lib64 and /usr/local/cuda/include, because that's what
my current machine has it installed. This can be cleaned up later.
Double check that we correctly transpose height and width everywhere!
b17 disk is no longer writable.
No longer publicly expose the default constructor.

That could allow someone to do something like this:

CuDevice device1;
CuDevice device2;

We're not sure what this would cause, but it probably wouldn't be good.
Document data formats expected of each member function.
There may be edge cases in the configure script with this remaining.

We still don't look up the version of CUDNN to download for your CUDA
version.

Also make sure that non-CUDA builds still compile. This is achieved by
the cu-cudnn-helper.h file, which forward declares cudnn types, which
fortunately are all pointer types (except for enums, which don't matter
in this case).
Remove support for CUDA versions that don't support CUDNN v7.

Remove 32-bit CUDA mode, since no recent version of CUDA supports it. I
may not have removed all instances of it.
Automatically download CUDNN as part of configure.
Convert assertion to warning, although I am not sure this works, since
if an algorithm fails to be found because of an out-of-memory error, it
is likely to fail at training time for the same reason.
@galv
Copy link
Contributor

galv commented Oct 23, 2018

Hi Dan, check out danpovey#53 to see some results of my poking this.

galv and others added 6 commits October 23, 2018 23:49
Use cudnnSetTensor4dDescriptor with strides we calculate ourselves
instead.
Change filter type back to NCHW, since it supports more algos.
It supports only the precomputed implicit GEMM implementation of
convolution.
The ConvolutionComputation class does not know whether or not the bias
is optional at initialization time. It will simply avoid using the bias
if it is a nullptr.


void ConvolutionComputation::
ConvolveForward(const MatrixBase<BaseFloat> &input,
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there some reason why we don't make this class own a "ConvolutionComputation" object, and have it defer to the functions like ConvolveForward defined in convolution.h?

@danpovey
Copy link
Contributor Author

danpovey commented Oct 27, 2018 via email

@galv
Copy link
Contributor

galv commented Oct 27, 2018 via email

@stale
Copy link

stale bot commented Jun 19, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale Stale bot on the loose label Jun 19, 2020
@stale
Copy link

stale bot commented Jul 19, 2020

This issue has been automatically closed by a bot strictly because of inactivity. This does not mean that we think that this issue is not important! If you believe it has been closed hastily, add a comment to the issue and mention @kkm000, and I'll gladly reopen it.

@stale stale bot closed this Jul 19, 2020
@kkm000 kkm000 reopened this Jul 19, 2020
@stale stale bot removed the stale Stale bot on the loose label Jul 19, 2020
@stale
Copy link

stale bot commented Sep 17, 2020

This issue has been automatically marked as stale by a bot solely because it has not had recent activity. Please add any comment (simply 'ping' is enough) to prevent the issue from being closed for 60 more days if you believe it should be kept open.

@stale stale bot added the stale Stale bot on the loose label Sep 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Stale bot on the loose
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants