More about cudnn refactor (#50827)
Summary:
- Resolves ngimel's review comments in https://github.com/pytorch/pytorch/pull/49109
- Move `ConvolutionArgs` from `ConvShared.h` to `Conv_v7.cpp`, because cuDNN v8 uses different descriptors therefore will not share the same `ConvolutionArgs`.
- Refactor the `ConvolutionParams` (the hash key for benchmark):
- Remove `input_stride`
- Add `input_dim`
- Add `memory_format`
- Make `repro_from_args` to take `ConvolutionParams` instead of `ConvolutionArgs` as arguments so that it can be shared for v7 and v8
- Rename some `layout` to `memory_format`. `layout` should be sparse/strided and `memory_format` should be contiguous/channels_last. They are different things.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/50827
Reviewed By: bdhirsh
Differential Revision: D26048274
Pulled By: ezyang
fbshipit-source-id: f71aa02d90ffa581c17ab05b171759904b311517