remove stray code from CUDNN ConvTransposeGradient that caused a memory allocation
remove stray code from CUDNN ConvTransposeGradient that caused a memory allocation

Summary:
KaimingHe noticed a curious performance problem with ConvTranspose (actually ConvTransposeGradient): it got slower when more GPUs were used! This did not make sense.

After some strenuous debugging, I noticed that tensor Y = Output(0) was being reallocated every time: this causes the slowdown because we grab a mutex for each allocation.

Turns out this Y variable is copy-paste code and actually not intended to be part of the gradient op. This caused reallocation because the computed size of Y was larger than dfilter's (also Output(0)), but we never set the capacity of Y/dfilter to match the capacity of the larger size. Thus, Tensor.Resize() always ended up reseting the tensor --> allocation. This did not affect correctness of the code, but made it super-slow.

Before on KaimingHe's code ConvTransposeGradient took total of 3800 ms, now about 200ms.

Reviewed By: ajtulloch

Differential Revision: D5180280

fbshipit-source-id: d72f23038f0c51d82bcde7aed55089d657bda03e

Yangqing/caffe2,Yangqing/caffe2,Yangqing/caffe2,bwasti/caffe2,sf-wind/caffe2,xzturn/caffe2,sf-wind/caffe2,pietern/caffe2,davinwang/caffe2,caffe2/caffe2,xzturn/caffe2,xzturn/caffe2,pietern/caffe2,bwasti/caffe2,davinwang/caffe2,Yangqing/caffe2,Yangqing/caffe2,sf-wind/caffe2,bwasti/caffe2,sf-wind/caffe2,xzturn/caffe2,davinwang/caffe2,pietern/caffe2,sf-wind/caffe2,bwasti/caffe2,pietern/caffe2,pietern/caffe2,bwasti/caffe2,davinwang/caffe2,xzturn/caffe2,davinwang/caffe2