Repository: pytorch
Issue: Eigen version for PyTorch ?
Labels: module: build,triaged


Which version of eigen is working for PyTorch?

```
In file included from /usr/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h:14:0,
                 from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:31,
                 from ....../pytorch/caffe2/operators/conv_op_eigen.cc:10:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h:254:30: error: redeclared with 1 template parameter
 template <typename T> struct array_size;
                              ^~~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:151:0,
                 from ....../pytorch/caffe2/operators/conv_op_eigen.cc:1:
/usr/include/eigen3/Eigen/src/Core/util/Meta.h:393:55: note: previous declaration ‘template<class T, class EnableIf> struct Eigen::internal::array_size’ used 2 template parameters
 template<typename T, typename EnableIf = void> struct array_size {
                                                       ^~~~~~~~~~
In file included from /usr/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h:14:0,
                 from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:31,
                 from ....../pytorch/caffe2/operators/conv_op_eigen.cc:10:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h:255:41: error: redefinition of ‘struct Eigen::internal::array_size<const std::array<_Tp, _Nm> >’
 template<class T, std::size_t N> struct array_size<const std::array<T,N> > {
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:151:0,
                 from ....../pytorch/caffe2/operators/conv_op_eigen.cc:1:
/usr/include/eigen3/Eigen/src/Core/util/Meta.h:409:44: note: previous definition of ‘struct Eigen::internal::array_size<const std::array<_Tp, _Nm> >’
 template<typename T, std::size_t N> struct array_size<const std::array<T,N> > {
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h:14:0,
                 from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:31,
                 from ....../pytorch/caffe2/operators/conv_op_eigen.cc:10:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h:258:30: error: redeclared with 1 template parameter
 template <typename T> struct array_size;
                              ^~~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:151:0,
                 from ....../pytorch/caffe2/operators/conv_op_eigen.cc:1:
/usr/include/eigen3/Eigen/src/Core/util/Meta.h:393:55: note: previous declaration ‘template<class T, class EnableIf> struct Eigen::internal::array_size’ used 2 template parameters
 template<typename T, typename EnableIf = void> struct array_size {
                                                       ^~~~~~~~~~
In file included from /usr/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h:14:0,
                 from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:31,
                 from ....../pytorch/caffe2/operators/conv_op_eigen.cc:10:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h:259:41: error: redefinition of ‘struct Eigen::internal::array_size<std::array<_Tp, _Nm> >’
 template<class T, std::size_t N> struct array_size<std::array<T,N> > {
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:151:0,
                 from ....../pytorch/caffe2/operators/conv_op_eigen.cc:1:
/usr/include/eigen3/Eigen/src/Core/util/Meta.h:412:44: note: previous definition of ‘struct Eigen::internal::array_size<std::array<_Tp, _Nm> >’
 template<typename T, std::size_t N> struct array_size<std::array<T,N> > {
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:113:0,
                 from ....../pytorch/caffe2/operators/conv_op_eigen.cc:10:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h: In member function ‘void Eigen::TensorContractionEvaluatorBase<Derived>::evalGemm(Eigen::TensorContractionEvaluatorBase<Derived>::Scalar*) const’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h:466:111: error: wrong number of template arguments (6, should be at least 7)
     internal::gemm_pack_lhs<LhsScalar, Index, typename LhsMapper::SubMapper, mr, Traits::LhsProgress, ColMajor> pack_lhs;
                                                                                                               ^
In file included from /usr/include/eigen3/Eigen/Core:270:0,
                 from ....../pytorch/caffe2/operators/conv_op_eigen.cc:1:
/usr/include/eigen3/Eigen/src/Core/util/BlasUtil.h:28:8: note: provided for ‘template<class Scalar, class Index, class DataMapper, int Pack1, int Pack2, class Packet, int StorageOrder, bool Conjugate, bool PanelMode> struct Eigen::internal::gemm_pack_lhs’
 struct gemm_pack_lhs;
        ^~~~~~~~~~~~~
In file included from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:113:0,
```