Package Details: caffe2 0.8.1-6

Git Clone URL: https://aur.archlinux.org/caffe2.git (read-only)
Package Base: caffe2
Description: A new lightweight, modular, and scalable deep learning framework (gpu enabled)
Upstream URL: http://caffe2.ai/
Licenses: BSD
Conflicts: caffe, caffe-cpu, caffe-cpu-git, caffe-git, caffe2-cpu, caffe2-cpu-git, caffe2-git
Submitter: dbermond
Maintainer: dbermond
Last Packager: dbermond
Votes: 0
Popularity: 0.000000
First Submitted: 2017-04-29 16:21
Last Updated: 2017-09-29 15:21

Required by (0)

Sources (18)

Latest Comments

dbermond commented on 2018-01-25 14:24

@ricefan123 This is a known upstream issue. Currently, caffe2 does not build with CUDA 9, not even the git master version. Developers are aware.

Details here: https://github.com/caffe2/caffe2/issues/1459

Unfortunately, package is broken and we should wait for an upstream fix. If you really want to use caffe2, you'll need to downgrade CUDA to version 8.0. Otherwise, use caffe (previous generation).

ricefan123 commented on 2018-01-23 04:27

Compilation error occurs again.

[ 62%] Building NVCC (Device) object caffe2/CMakeFiles/caffe2_gpu.dir/operators/caffe2_gpu_generated_abs_op.cu.o /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/context_gpu.h: In destructor ‘caffe2::CUDAContext::~CUDAContext()’: /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/context_gpu.h:149:22: warning: throw will always call terminate() [-Wterminate] inline void SwitchToDevice(int stream_id) { ^ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/context_gpu.h:149:22: note: in C++11 destructors default to noexcept /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple: In instantiation of ‘static constexpr bool std::TC<<anonymous>, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<long int&="" int&,="" long="" unsigned="">}; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’: /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:626:248: required by substitution of ‘template<class (_uelements)="=" ...="" 1),="" _uelements,="" int&="" int&,="" long="" std::enable_if<(((std::_tc<(sizeof...="" typename="" unsigned="">::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {std::tuple<long int&="" int&,="" long="" unsigned="">}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), long unsigned int&, long unsigned int&, long unsigned int&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:1545:43: required from ‘constexpr std::tuple<_Elements& ...> std::tie(_Elements& ...) [with _Elements = {long unsigned int, long unsigned int, long unsigned int}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:241:10: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::DoRunWithType() [with T = float; InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:640:80: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op, const caffe2::TypeMeta&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:642:47: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op</caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float>, const caffe2::Tensor<context>&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; Context = caffe2::CUDAContext; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:215:42: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::RunOnDevice() [with InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /tmp/tmpxft_00006f0e_00000000-5_abs_op.compute_70.cudafe1.stub.c:20:27: required from here /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’ return and_<is_constructible<_elements, _uelements&&="">...>::value; ^~~~~ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<long int&="" int&,="" long="" unsigned="">}; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’ not a return-statement } ^ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<long int&="" int&,="" long="" unsigned="">}; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’: /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:626:362: required by substitution of ‘template<class (_uelements)="=" ...="" 1),="" _uelements,="" int&="" int&,="" long="" std::enable_if<(((std::_tc<(sizeof...="" typename="" unsigned="">::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {std::tuple<long int&="" int&,="" long="" unsigned="">}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), long unsigned int&, long unsigned int&, long unsigned int&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:1545:43: required from ‘constexpr std::tuple<_Elements& ...> std::tie(_Elements& ...) [with _Elements = {long unsigned int, long unsigned int, long unsigned int}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:241:10: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::DoRunWithType() [with T = float; InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:640:80: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op, const caffe2::TypeMeta&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:642:47: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op</caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float>, const caffe2::Tensor<context>&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; Context = caffe2::CUDAContext; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:215:42: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::RunOnDevice() [with InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /tmp/tmpxft_00006f0e_00000000-5_abs_op.compute_70.cudafe1.stub.c:20:27: required from here /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’ return </caffe2::absgradientcudafunctor></float></inputtypes,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float></context></caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></float></inputtypes,></missing></anonymous></long></template-parameter-1-1></anonymous></class></anonymous></long></anonymous></anonymous></long></anonymous></is_constructible<_elements,>and</caffe2::absgradientcudafunctor></float></inputtypes,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float></context></caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></float></inputtypes,></missing></anonymous></long></template-parameter-1-1></anonymous></class></anonymous></long></anonymous><is_convertible<_uelements&&, _elements="">...>::value; ^~~~~ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::TC<<anonymous>, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<long int&="" int&,="" long="" unsigned="">}; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’ not a return-statement } ^ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<long int&="" int&,="" long="" unsigned="">&; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’: /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:662:419: required by substitution of ‘template<class (_uelements)),="" ...="" _dummy,="" _uelements,="" class="" int&="" int&,="" long="" sizeof...="" std::enable_if<((std::_tc<(1ul="=" typename="" unsigned="">::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), long unsigned int&, long unsigned int&, long unsigned int&>::_NonNestedTuple<const ...="" tuple<_elements="">&>()), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {long unsigned int&, long unsigned int&, long unsigned int&}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), long unsigned int&, long unsigned int&, long unsigned int&>::_NonNestedTuple<const ...="" tuple<_elements="">&>()), bool>::type <anonymous> = <missing>]’ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:1545:43: required from ‘constexpr std::tuple<_Elements& ...> std::tie(_Elements& ...) [with _Elements = {long unsigned int, long unsigned int, long unsigned int}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:241:10: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::DoRunWithType() [with T = float; InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:640:80: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op, const caffe2::TypeMeta&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:642:47: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op</caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float>, const caffe2::Tensor<context>&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; Context = caffe2::CUDAContext; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:215:42: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::RunOnDevice() [with InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /tmp/tmpxft_00006f0e_00000000-5_abs_op.compute_70.cudafe1.stub.c:20:27: required from here /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:495:244: error: wrong number of template arguments (4, should be 2) return and_<not</caffe2::absgradientcudafunctor></float></inputtypes,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float></context></caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></float></inputtypes,></missing></anonymous></const></template-parameter-1-1></anonymous></const></class></anonymous></long></anonymous></anonymous></long></anonymous><is_same<tuple<_elements...>, ^ <br> /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/type_traits:1558:8: note: provided for ‘template<class _from,="" _to="" class=""> struct std::is_convertible’ struct is_convertible ^~~~~~~~~~~~~~ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::TC<<anonymous>, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<long int&="" int&,="" long="" unsigned="">&; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’ not a return-statement } ^ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<long int&="" int&,="" long="" unsigned="">&&; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’: /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:686:422: required by substitution of ‘template<class (_uelements)),="" ...="" _dummy,="" _uelements,="" class="" int&="" int&,="" long="" sizeof...="" std::enable_if<((std::_tc<(1ul="=" typename="" unsigned="">::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), long unsigned int&, long unsigned int&, long unsigned int&>::_NonNestedTuple<tuple<_elements ...="">&&>()), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {long unsigned int&, long unsigned int&, long unsigned int&}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), long unsigned int&, long unsigned int&, long unsigned int&>::_NonNestedTuple<tuple<_elements ...="">&&>()), bool>::type <anonymous> = <missing>]’ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:1545:43: required from ‘constexpr std::tuple<_Elements& ...> std::tie(_Elements& ...) [with _Elements = {long unsigned int, long unsigned int, long unsigned int}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:241:10: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::DoRunWithType() [with T = float; InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:640:80: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op, const caffe2::TypeMeta&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:642:47: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op</caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float>, const caffe2::Tensor<context>&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; Context = caffe2::CUDAContext; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:215:42: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::RunOnDevice() [with InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /tmp/tmpxft_00006f0e_00000000-5_abs_op.compute_70.cudafe1.stub.c:20:27: required from here /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:495:244: error: wrong number of template arguments (4, should be 2) return and_<not</caffe2::absgradientcudafunctor></float></inputtypes,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float></context></caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></float></inputtypes,></missing></anonymous></tuple<_elements></template-parameter-1-1></anonymous></tuple<_elements></class></anonymous></long></anonymous></anonymous></long></anonymous><is_same<tuple<_elements...>, ^ <br> /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/type_traits:1558:8: note: provided for ‘template<class _from,="" _to="" class=""> struct std::is_convertible’ struct is_convertible ^~~~~~~~~~~~~~ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::TC<<anonymous>, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<long int&="" int&,="" long="" unsigned="">&&; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’ not a return-statement } ^ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<long int="" int,="" long="" unsigned="">}; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’: /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:626:248: required by substitution of ‘template<class (_uelements)="=" ...="" 1),="" _uelements,="" int&="" int&,="" long="" std::enable_if<(((std::_tc<(sizeof...="" typename="" unsigned="">::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {std::tuple<long int="" int,="" long="" unsigned="">}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), long unsigned int&, long unsigned int&, long unsigned int&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:241:26: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::DoRunWithType() [with T = float; InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:640:80: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op, const caffe2::TypeMeta&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:642:47: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op</caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float>, const caffe2::Tensor<context>&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; Context = caffe2::CUDAContext; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:215:42: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::RunOnDevice() [with InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /tmp/tmpxft_00006f0e_00000000-5_abs_op.compute_70.cudafe1.stub.c:20:27: required from here /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:483:67: error: mismatched argument pack lengths while expanding ‘std::is_constructible<_Elements, _UElements&&>’ return and_<is_constructible<_elements, _uelements&&="">...>::value; ^~~~~ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:484:1: error: body of constexpr function ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_MoveConstructibleTuple() [with _UElements = {std::tuple<long int="" int,="" long="" unsigned="">}; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’ not a return-statement } ^ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<long int="" int,="" long="" unsigned="">}; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’: /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:626:362: required by substitution of ‘template<class (_uelements)="=" ...="" 1),="" _uelements,="" int&="" int&,="" long="" std::enable_if<(((std::_tc<(sizeof...="" typename="" unsigned="">::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {std::tuple<long int="" int,="" long="" unsigned="">}; typename std::enable_if<(((std::_TC<(sizeof... (_UElements) == 1), long unsigned int&, long unsigned int&, long unsigned int&>::_NotSameTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_MoveConstructibleTuple<_UElements ...>()) && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && (3ul >= 1)), bool>::type <anonymous> = <missing>]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:241:26: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::DoRunWithType() [with T = float; InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:640:80: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op, const caffe2::TypeMeta&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:642:47: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op</caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float>, const caffe2::Tensor<context>&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; Context = caffe2::CUDAContext; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:215:42: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::RunOnDevice() [with InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /tmp/tmpxft_00006f0e_00000000-5_abs_op.compute_70.cudafe1.stub.c:20:27: required from here /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:489:65: error: mismatched argument pack lengths while expanding ‘std::is_convertible<_UElements&&, _Elements>’ return </caffe2::absgradientcudafunctor></float></inputtypes,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float></context></caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></float></inputtypes,></missing></anonymous></long></template-parameter-1-1></anonymous></class></anonymous></long></anonymous></anonymous></long></anonymous></is_constructible<_elements,>and</caffe2::absgradientcudafunctor></float></inputtypes,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float></context></caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></float></inputtypes,></missing></anonymous></long></template-parameter-1-1></anonymous></class></anonymous></long></anonymous></anonymous></long></anonymous><is_convertible<_uelements&&, _elements="">...>::value; ^~~~~ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:490:1: error: body of constexpr function ‘static constexpr bool std::TC<<anonymous>, _Elements>::_ImplicitlyMoveConvertibleTuple() [with _UElements = {std::tuple<long int="" int,="" long="" unsigned="">}; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’ not a return-statement } ^ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<long int="" int,="" long="" unsigned="">&; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’: /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:662:419: required by substitution of ‘template<class (_uelements)),="" ...="" _dummy,="" _uelements,="" class="" int&="" int&,="" long="" sizeof...="" std::enable_if<((std::_tc<(1ul="=" typename="" unsigned="">::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), long unsigned int&, long unsigned int&, long unsigned int&>::_NonNestedTuple<const ...="" tuple<_elements="">&>()), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(const std::tuple<_Args1 ...>&) [with _UElements = {long unsigned int, long unsigned int, long unsigned int}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), long unsigned int&, long unsigned int&, long unsigned int&>::_NonNestedTuple<const ...="" tuple<_elements="">&>()), bool>::type <anonymous> = <missing>]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:241:26: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::DoRunWithType() [with T = float; InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:640:80: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op, const caffe2::TypeMeta&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:642:47: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op</caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float>, const caffe2::Tensor<context>&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; Context = caffe2::CUDAContext; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:215:42: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::RunOnDevice() [with InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /tmp/tmpxft_00006f0e_00000000-5_abs_op.compute_70.cudafe1.stub.c:20:27: required from here /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:495:244: error: wrong number of template arguments (4, should be 2) return and_<not</caffe2::absgradientcudafunctor></float></inputtypes,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float></context></caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></float></inputtypes,></missing></anonymous></const></template-parameter-1-1></anonymous></const></class></anonymous></long></anonymous></anonymous></long></anonymous><is_same<tuple<_elements...>, ^ <br> /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/type_traits:1558:8: note: provided for ‘template<class _from,="" _to="" class=""> struct std::is_convertible’ struct is_convertible ^~~~~~~~~~~~~~ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::TC<<anonymous>, _Elements>::_NonNestedTuple() [with _SrcTuple = const std::tuple<long int="" int,="" long="" unsigned="">&; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’ not a return-statement } ^ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple: In instantiation of ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<long int="" int,="" long="" unsigned="">&&; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’: /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:686:422: required by substitution of ‘template<class (_uelements)),="" ...="" _dummy,="" _uelements,="" class="" int&="" int&,="" long="" sizeof...="" std::enable_if<((std::_tc<(1ul="=" typename="" unsigned="">::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), long unsigned int&, long unsigned int&, long unsigned int&>::_NonNestedTuple<tuple<_elements ...="">&&>()), bool>::type <anonymous> > constexpr std::tuple< <template-parameter-1-1> >::tuple(std::tuple<_Args1 ...>&&) [with _UElements = {long unsigned int, long unsigned int, long unsigned int}; _Dummy = void; typename std::enable_if<((std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_MoveConstructibleTuple<_UElements ...>() && std::_TC<(1ul == sizeof... (_UElements)), long unsigned int&, long unsigned int&, long unsigned int&>::_ImplicitlyMoveConvertibleTuple<_UElements ...>()) && std::_TC<(std::is_same<_Dummy, void>::value && (1ul == 1)), long unsigned int&, long unsigned int&, long unsigned int&>::_NonNestedTuple<tuple<_elements ...="">&&>()), bool>::type <anonymous> = <missing>]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:241:26: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::DoRunWithType() [with T = float; InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:640:80: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op, const caffe2::TypeMeta&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/core/operator.h:642:47: required from ‘static bool caffe2::DispatchHelper<caffe2::tensortypes<firsttype, ...="" types="">, ExtraArgs ...>::call(Op</caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float>, const caffe2::Tensor<context>&) [with Op = caffe2::BinaryElementwiseOp<caffe2::tensortypes<float>, caffe2::CUDAContext, caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor> >; Context = caffe2::CUDAContext; FirstType = float; Types = {}; ExtraArgs = {}]’ /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/caffe2/operators/elementwise_op.h:215:42: required from ‘bool caffe2::BinaryElementwiseOp<inputtypes, context,="" functor,="" typemap="">::RunOnDevice() [with InputTypes = caffe2::TensorTypes<float>; Context = caffe2::CUDAContext; Functor = caffe2::WithoutBroadcast<caffe2::absgradientcudafunctor>; TypeMap = caffe2::SameTypeAsInput]’ /tmp/tmpxft_00006f0e_00000000-5_abs_op.compute_70.cudafe1.stub.c:20:27: required from here /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:495:244: error: wrong number of template arguments (4, should be 2) return and_<not</caffe2::absgradientcudafunctor></float></inputtypes,></caffe2::absgradientcudafunctor></caffe2::tensortypes<float></context></caffe2::tensortypes<firsttype,></caffe2::absgradientcudafunctor></float></inputtypes,></missing></anonymous></tuple<_elements></template-parameter-1-1></anonymous></tuple<_elements></class></anonymous></long></anonymous></anonymous></long></anonymous><is_same<tuple<_elements...>, ^ <br> /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/type_traits:1558:8: note: provided for ‘template<class _from,="" _to="" class=""> struct std::is_convertible’ struct is_convertible ^~~~~~~~~~~~~~ /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/include/c++/tuple:502:1: error: body of constexpr function ‘static constexpr bool std::_TC<<anonymous>, _Elements>::_NonNestedTuple() [with _SrcTuple = std::tuple<long int="" int,="" long="" unsigned="">&&; bool <anonymous> = true; _Elements = {long unsigned int&, long unsigned int&, long unsigned int&}]’ not a return-statement } ^ CMake Error at caffe2_gpu_generated_abs_op.cu.o.Release.cmake:275 (message): Error generating file /home/ricefan123/tmp/yaourt-tmp-ricefan123/aur-caffe2-git/src/caffe2-git/build/caffe2/CMakeFiles/caffe2_gpu.dir/operators/./caffe2_gpu_generated_abs_op.cu.o</anonymous></long></anonymous></class></is_same<tuple<_elements...></class></is_same<tuple<_elements...></is_convertible<_uelements&&,></class></is_same<tuple<_elements...></class></is_same<tuple<_elements...></is_convertible<_uelements&&,>

make[2]: [caffe2/CMakeFiles/caffe2_gpu.dir/build.make:72: caffe2/CMakeFiles/caffe2_gpu.dir/operators/caffe2_gpu_generated_abs_op.cu.o] Error 1 make[1]: [CMakeFiles/Makefile2:754: caffe2/CMakeFiles/caffe2_gpu.dir/all] Error 2 make: *** [Makefile:141: all] Error 2

dbermond commented on 2017-09-29 15:10

@bertptrs
You're right! Fixed.
Thank you for reporting this!

bertptrs commented on 2017-09-29 11:28

It appears that the checksum for thirdparty-protobuf-3.1.0.tar.gz is wrong. I detect it as 1176b093a05f2f4f8264d9d33f886255418af5c1007811328185f385ba6f9a7c.

dbermond commented on 2017-09-13 20:49

cuda 8.0.61-3 fixes the glibc 2.26 issue.
This package is now building fine again.

dbermond commented on 2017-09-09 17:09

It seems that CUDA/NVCC 8.0.61 is not compatible with glibc 2.26. As a result, currently this package cannot be compiled with gpu support as it should be.
Use caffe2-cpu instead (cpu-only, without gpu support) until there is a repository or upstream fix.
Please leave a reply if you find a workaround.

dbermond commented on 2017-09-09 12:40

@petronny
Hi. Thank you for reporting this.
I could reproduce the issue and identified the cause as being the gloo compilation, and not nccl directly. Compiling without gloo support (-DUSE_GLOO:BOOL='OFF') solves the issue. Updating the gloo commit to latest git master also solves the issue, since upstream gloo removed nccl from its third party dependencies.

But another issue has just appeared: both caffe2 and gloo fails to compile with the newly released glibc 2.26. Since this glibc 2.26 issue is an unsolved upstream bug, I will update the package only after it's being solved, since it will not compile anyway for now.

petronny commented on 2017-09-08 14:58

I get
-- Found OpenMP_C: -fopenmp (found version "4.0")
-- Found OpenMP_CXX: -fopenmp (found version "4.0")
-- Adding -fopenmp
-- CUDA detected: 8.0
-- Automatic GPU detection failed. Building for all known architectures.
-- Added CUDA NVCC flags for: sm_20 sm_21 sm_30 sm_35 sm_50 sm_52 sm_60 sm_61
-- Found libcuda: /opt/cuda/lib64/stubs/libcuda.so
-- Found libnvrtc: /opt/cuda/lib64/libnvrtc.so
-- Found CUDNN: /opt/cuda/include
-- Found cuDNN: v7.0.1 (include: /opt/cuda/include, library: /opt/cuda/lib64/libcudnn.so)
-- Could NOT find CUB (missing: CUB_INCLUDE_DIR)
-- Could NOT find Gloo (missing: Gloo_INCLUDE_DIR Gloo_LIBRARY)
-- Found hiredis: /usr/include/hiredis
-- Found hiredis (include: /usr/include/hiredis, library: /lib/libhiredis.so)
-- MPI include path: /usr/include
-- MPI libraries: /usr/lib/openmpi/libmpi_cxx.so/usr/lib/openmpi/libmpi.so
-- Found CUDA: /opt/cuda (found suitable version "8.0", minimum required is "7.0")
-- CUDA detected: 8.0
-- Found libcuda: /opt/cuda/lib64/stubs/libcuda.so
-- Found libnvrtc: /opt/cuda/lib64/libnvrtc.so
CMake Error at /usr/share/cmake-3.9/Modules/ExternalProject.cmake:2010 (message):
No download info given for 'nccl_external' and its source directory:

/build/caffe2/src/caffe2-0.8.1/third_party/gloo/third-party/nccl

is not an existing non-empty directory. Please specify one of:

* SOURCE_DIR with an existing non-empty directory
* URL
* GIT_REPOSITORY
* HG_REPOSITORY
* CVS_REPOSITORY and CVS_MODULE
* SVN_REVISION
* DOWNLOAD_COMMAND
Call Stack (most recent call first):
/usr/share/cmake-3.9/Modules/ExternalProject.cmake:2565 (_ep_add_download_command)
third_party/gloo/cmake/External/nccl.cmake:16 (ExternalProject_Add)
third_party/gloo/cmake/Dependencies.cmake:53 (include)
third_party/gloo/CMakeLists.txt:44 (include)

without nccl installed.

Adding nccl back to depends works.

dbermond commented on 2017-08-09 17:25

caffe2 0.8.1 adds support for the newly released cudnn 7.0.

dbermond commented on 2017-08-08 10:31

@petronny
I have already "done something":
https://aur.archlinux.org/cgit/aur.git/commit/?h=caffe2&id=894fb0890375500b0629e13ff2ad457244eaf68f

That's the workaround that I could manage to do while a proper patch cannot be applied. This will require downgrade of cudnn to 6.0.21.
In the meanwhile you can use caffe2-cpu, which does not have cudnn dependency.

All comments