cxx11_non_blocking_thread_pool does not build with AVX512 enabled
Summary
cxx11_non_blocking_thread_pool does not build with AVX512 enabled
Environment
- Operating System : Windows/Linux
- Architecture : x86_64
- Eigen Version : 3.5 (master)
- Compiler Version : Gcc10.3.0
- Compile Flags : -O3
- Vector Extension : AVX512
Steps to reproduce
cmake -DEIGEN_TEST_CXX11=ON -DEIGEN_TEST_AVX512=ON ../eigen
./check.sh cxx11_non_blocking_thread_pool
Relevant logs
Building CXX object unsupported/test/CMakeFiles/cxx11_non_blocking_thread_pool.dir/cxx11_non_blocking_thread_pool.cpp.o
In file included from /usr/include/c++/10/memory:83,
from /usr/include/c++/10/thread:44,
from /usr/include/c++/10/future:39,
from /usr/local/google/home/rmlarsen/eigen/rmlarsen/eigen/unsupported/test/../../test/main.h:54,
from /usr/local/google/home/rmlarsen/eigen/rmlarsen/eigen/unsupported/test/cxx11_non_blocking_thread_pool.cpp:12:
/usr/include/c++/10/bits/unique_ptr.h: In instantiation of ‘constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr() [with _Del = std::__future_base::_Result_base::_Deleter; <template-parameter-2-2> = void; _Tp = std::__future_base::_Result_base; _Dp = std::__future_base::_Result_base::_Deleter]’:
/usr/include/c++/10/future:324:77: required from here
/usr/include/c++/10/bits/unique_ptr.h:270:9: error: no matching function for call to ‘std::__uniq_ptr_data<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter, true, true>::__uniq_ptr_data()’
270 | : _M_t()
| ^
/usr/include/c++/10/bits/unique_ptr.h:210:40: note: candidate: ‘std::__uniq_ptr_data<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>::pointer) [inherited from std::__uniq_ptr_impl<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>]’
210 | using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
| ^~~~~~~~~~~~~~~
/usr/include/c++/10/bits/unique_ptr.h:210:40: note: candidate expects 1 argument, 0 provided
/usr/include/c++/10/bits/unique_ptr.h:210:40: note: candidate: ‘template<class _Del> std::__uniq_ptr_data<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>::pointer, _Del&&) [inherited from std::__uniq_ptr_impl<std::__future_base::_Result_base, std::__future_base::_Result_base::_Deleter>]’
/usr/include/c++/10/bits/unique_ptr.h:210:40: note: template argument deduction/substitution failed:
/usr/include/c++/10/bits/unique_ptr.h:270:9: note: candidate expects 2 arguments, 0 provided
270 | : _M_t()
| ^
/usr/include/c++/10/bits/unique_ptr.h:211:7: note: candidate: ‘std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >::__uniq_ptr_data(std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >&&) [with _Tp = std::__future_base::_Result_base; _Dp = std::__future_base::_Result_base::_Deleter; bool <anonymous> = true; bool <anonymous> = true]’
211 | __uniq_ptr_data(__uniq_ptr_data&&) = default;
| ^~~~~~~~~~~~~~~
/usr/include/c++/10/bits/unique_ptr.h:211:7: note: candidate expects 1 argument, 0 provided
/usr/include/c++/10/bits/unique_ptr.h: In instantiation of ‘constexpr std::unique_ptr<_Tp, _Dp>::unique_ptr() [with _Del = std::default_delete<Eigen::StlThreadEnvironment::EnvThread>; <template-parameter-2-2> = void; _Tp = Eigen::StlThreadEnvironment::EnvThread; _Dp = std::default_delete<Eigen::StlThreadEnvironment::EnvThread>]’:
/usr/local/google/home/rmlarsen/eigen/rmlarsen/eigen/unsupported/test/../../unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h:231:66: required from ‘constexpr Eigen::ThreadPoolTempl<Environment>::ThreadData::ThreadData() [with Environment = Eigen::StlThreadEnvironment]’
/usr/local/google/home/rmlarsen/eigen/rmlarsen/eigen/unsupported/test/../../unsupported/Eigen/CXX11/src/util/MaxSizeVector.h:72:7: required from ‘void Eigen::MaxSizeVector<T>::resize(std::size_t) [with T = Eigen::ThreadPoolTempl<Eigen::StlThreadEnvironment>::ThreadData; std::size_t = long unsigned int]’
/usr/local/google/home/rmlarsen/eigen/rmlarsen/eigen/unsupported/test/../../unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h:56:24: required from ‘Eigen::ThreadPoolTempl<Environment>::ThreadPoolTempl(int, bool, Environment) [with Environment = Eigen::StlThreadEnvironment]’
/usr/local/google/home/rmlarsen/eigen/rmlarsen/eigen/unsupported/test/cxx11_non_blocking_thread_pool.cpp:30:41: required from here
/usr/include/c++/10/bits/unique_ptr.h:270:9: error: no matching function for call to ‘std::__uniq_ptr_data<Eigen::StlThreadEnvironment::EnvThread, std::default_delete<Eigen::StlThreadEnvironment::EnvThread>, true, true>::__uniq_ptr_data()’
270 | : _M_t()
| ^
/usr/include/c++/10/bits/unique_ptr.h:210:40: note: candidate: ‘std::__uniq_ptr_data<Eigen::StlThreadEnvironment::EnvThread, std::default_delete<Eigen::StlThreadEnvironment::EnvThread>, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<Eigen::StlThreadEnvironment::EnvThread, std::default_delete<Eigen::StlThreadEnvironment::EnvThread> >::pointer) [inherited from std::__uniq_ptr_impl<Eigen::StlThreadEnvironment::EnvThread, std::default_delete<Eigen::StlThreadEnvironment::EnvThread> >]’
210 | using __uniq_ptr_impl<_Tp, _Dp>::__uniq_ptr_impl;
| ^~~~~~~~~~~~~~~
/usr/include/c++/10/bits/unique_ptr.h:210:40: note: candidate expects 1 argument, 0 provided
/usr/include/c++/10/bits/unique_ptr.h:210:40: note: candidate: ‘template<class _Del> std::__uniq_ptr_data<Eigen::StlThreadEnvironment::EnvThread, std::default_delete<Eigen::StlThreadEnvironment::EnvThread>, true, true>::__uniq_ptr_data(std::__uniq_ptr_impl<Eigen::StlThreadEnvironment::EnvThread, std::default_delete<Eigen::StlThreadEnvironment::EnvThread> >::pointer, _Del&&) [inherited from std::__uniq_ptr_impl<Eigen::StlThreadEnvironment::EnvThread, std::default_delete<Eigen::StlThreadEnvironment::EnvThread> >]’
/usr/include/c++/10/bits/unique_ptr.h:210:40: note: template argument deduction/substitution failed:
/usr/include/c++/10/bits/unique_ptr.h:270:9: note: candidate expects 2 arguments, 0 provided
270 | : _M_t()
| ^
/usr/include/c++/10/bits/unique_ptr.h:211:7: note: candidate: ‘std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >::__uniq_ptr_data(std::__uniq_ptr_data<_Tp, _Dp, <anonymous>, <anonymous> >&&) [with _Tp = Eigen::StlThreadEnvironment::EnvThread; _Dp = std::default_delete<Eigen::StlThreadEnvironment::EnvThread>; bool <anonymous> = true; bool <anonymous> = true]’
211 | __uniq_ptr_data(__uniq_ptr_data&&) = default;
| ^~~~~~~~~~~~~~~
/usr/include/c++/10/bits/unique_ptr.h:211:7: note: candidate expects 1 argument, 0 provided
gmake[3]: *** [unsupported/test/CMakeFiles/cxx11_non_blocking_thread_pool.dir/build.make:82: unsupported/test/CMakeFiles/cxx11_non_blocking_thread_pool.dir/cxx11_non_blocking_thread_pool.cpp.o] Error 1
gmake[2]: *** [CMakeFiles/Makefile2:50709: unsupported/test/CMakeFiles/cxx11_non_blocking_thread_pool.dir/all] Error 2
gmake[1]: *** [CMakeFiles/Makefile2:50716: unsupported/test/CMakeFiles/cxx11_non_blocking_thread_pool.dir/rule] Error 2
gmake: *** [Makefile:21449: cxx11_non_blocking_thread_pool] Error 2