diff options
author | Edward Z. Yang <ezyang@mit.edu> | 2018-03-31 14:28:31 -0400 |
---|---|---|
committer | Soumith Chintala <soumith@gmail.com> | 2018-03-31 11:28:31 -0700 |
commit | 9ce21b0e90095edbda80946cff95095a992b89d6 (patch) | |
tree | 60882da0410c8b75cf21ceac9f0ed2cbd1a8d0fe /tools | |
parent | da6c3c90d9efbf866ae01c0ec23bebb59addae54 (diff) | |
download | pytorch-9ce21b0e90095edbda80946cff95095a992b89d6.tar.gz pytorch-9ce21b0e90095edbda80946cff95095a992b89d6.tar.bz2 pytorch-9ce21b0e90095edbda80946cff95095a992b89d6.zip |
Delete NNPACK (#6151)
Since we added cpuinfo as a vendored dependency, this created a problem
with our NNPACK integration, because NNPACK also depends on cpuinfo,
as per #6068. This is particularly difficult to resolve because we
depend on a fairly recent version of cpuinfo, which we generally cannot
assume users have installed (it is submoduled.) So, it would seem that
to fix this properly, NNPACK would have to be vendored and built against
the correct cpuinfo.
However, discussion with Christian Puhrsch and Marat Dukhan suggests
that the benefit of carrying on with NNPACK integration is not all that
great, because mkldnn has since come out with a CPU convolution implementation
that performs better than NNPACK. NNPACK's x86 implementation is not
really maintained, and its ARM support is not really relevant to PyTorch.
So rather than go through all the rigamarole of vendoring NNPACK, better
to just delete it. If you need good perf for CPU convolutions, please
make sure you build against mkldnn.
Signed-off-by: Edward Z. Yang <ezyang@fb.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/autograd/derivatives.yaml | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/tools/autograd/derivatives.yaml b/tools/autograd/derivatives.yaml index 1cb4afb111..068508b16a 100644 --- a/tools/autograd/derivatives.yaml +++ b/tools/autograd/derivatives.yaml @@ -1117,13 +1117,6 @@ save_var: not_implemented("cudnn_batch_norm_backward save_var") input, weight, grad_output: batchnorm_double_backward(input, weight, grads[0], grads[1], grads[2], grad_output, running_mean, running_var, true, epsilon, save_mean, save_var, grad_input_mask) -# nnpack - -- name: nnpack_spatial_convolution(Tensor input, Tensor weight, Tensor bias, int64_t kW, int64_t kH, int64_t padW, int64_t padH) - input: nnpack_spatial_convolution_backward_input(input, grad, weight, kW, kH, padW, padH) - weight: nnpack_spatial_convolution_backward_weight(input, weight.sizes(), grad, kW, kH, padW, padH) - bias: grad.contiguous().view({grad.size(0), grad.size(1), -1}).sum(0).sum(1) - - name: _cudnn_rnn(Tensor input, TensorList weight, int64_t weight_stride0, Tensor weight_buf, Tensor hx, Tensor cx, int64_t mode, int64_t hidden_size, int64_t num_layers, bool batch_first, double dropout, bool train, bool bidirectional, IntList batch_sizes, Tensor dropout_state) input, hx, cx, weight: "_cudnn_rnn_backward(input, weight, weight_stride0, result4, hx, cx, result0, grads[0], grads[1], grads[2], mode, hidden_size, num_layers, batch_first, dropout, train, bidirectional, batch_sizes, dropout_state, retain_variables ? result3.clone() : result3, grad_input_mask)" |