-
Couldn't load subscription status.
- Fork 5.9k
Description
问题描述 Issue Description
参考文档/This doc was referred:https://paddle-inference.readthedocs.io/en/latest/guides/install/compile/source_compile_under_MacOS.html
制作Makefile命令/Command to make Makefile:cmake .. -DPY_VERSION=3.9 -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIRS}
-DPYTHON_LIBRARY=${PYTHON_LIBRARY} -DWITH_GPU=OFF -DWITH_TESTING=OFF
-DWITH_AVX=OFF -DWITH_ARM=ON -DCMAKE_BUILD_TYPE=Release -DON_INFER=ON
编译命令/Command to compile:make inference_lib_dist TARGET=ARMV8 -j8
报错信息
Error Message:
Undefined symbols for architecture arm64:
"void phi::Copyphi::CPUContext(phi::CPUContext const&, phi::DenseTensor const&, phi::Place, bool, phi::DenseTensor*)", referenced from:
void phi::RnnFunc<phi::LSTMCell, phi::Layer, phi::SingleLayer, phi::BidirLayer, float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const*, std::__1::vector<phi::DenseTensor const*, std::__1::allocator<phi::DenseTensor const*> > const&, phi::DenseTensor const*, phi::DenseTensor const*, phi::DenseTensor const*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, int, int, int, int, bool, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, float, bool, int, phi::DenseTensor*) in libphi_static_1.a(rnn_kernel.cc.o)
void phi::RnnFunc<phi::SimpleRNNCell<float, phi::funcs::ReluCPUFunctor, (phi::funcs::detail::ActivationType)2>, phi::Layer, phi::SingleLayer, phi::BidirLayer, float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const*, std::__1::vector<phi::DenseTensor const*, std::__1::allocator<phi::DenseTensor const*> > const&, phi::DenseTensor const*, phi::DenseTensor const*, phi::DenseTensor const*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, int, int, int, int, bool, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, float, bool, int, phi::DenseTensor*) in libphi_static_1.a(rnn_kernel.cc.o)
void phi::RnnFunc<phi::SimpleRNNCell<float, phi::funcs::TanhFunctor, (phi::funcs::detail::ActivationType)4>, phi::Layer, phi::SingleLayer, phi::BidirLayer, float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const*, std::__1::vector<phi::DenseTensor const*, std::__1::allocator<phi::DenseTensor const*> > const&, phi::DenseTensor const*, phi::DenseTensor const*, phi::DenseTensor const*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, int, int, int, int, bool, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, float, bool, int, phi::DenseTensor*) in libphi_static_1.a(rnn_kernel.cc.o)
void phi::RnnFunc<phi::GRUCell, phi::Layer, phi::SingleLayer, phi::BidirLayer, float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const*, std::__1::vector<phi::DenseTensor const*, std::__1::allocator<phi::DenseTensor const*> > const&, phi::DenseTensor const*, phi::DenseTensor const*, phi::DenseTensor const*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, int, int, int, int, bool, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, float, bool, int, phi::DenseTensor*) in libphi_static_1.a(rnn_kernel.cc.o)
void phi::RnnFunc<phi::LSTMCell, phi::Layer, phi::SingleLayer, phi::BidirLayer, double, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const*, std::__1::vector<phi::DenseTensor const*, std::__1::allocator<phi::DenseTensor const*> > const&, phi::DenseTensor const*, phi::DenseTensor const*, phi::DenseTensor const*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, int, int, int, int, bool, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, float, bool, int, phi::DenseTensor*) in libphi_static_1.a(rnn_kernel.cc.o)
void phi::RnnFunc<phi::SimpleRNNCell<double, phi::funcs::ReluCPUFunctor, (phi::funcs::detail::ActivationType)2>, phi::Layer, phi::SingleLayer, phi::BidirLayer, double, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const*, std::__1::vector<phi::DenseTensor const*, std::__1::allocator<phi::DenseTensor const*> > const&, phi::DenseTensor const*, phi::DenseTensor const*, phi::DenseTensor const*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, int, int, int, int, bool, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, float, bool, int, phi::DenseTensor*) in libphi_static_1.a(rnn_kernel.cc.o)
void phi::RnnFunc<phi::SimpleRNNCell<double, phi::funcs::TanhFunctor, (phi::funcs::detail::ActivationType)4>, phi::Layer, phi::SingleLayer, phi::BidirLayer, double, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const*, std::__1::vector<phi::DenseTensor const*, std::__1::allocator<phi::DenseTensor const*> > const&, phi::DenseTensor const*, phi::DenseTensor const*, phi::DenseTensor const*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, int, int, int, int, bool, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, float, bool, int, phi::DenseTensor*) in libphi_static_1.a(rnn_kernel.cc.o)
...
"void phi::Copyphi::CPUContext(phi::CPUContext const&, phi::SparseCooTensor const&, phi::Place, bool, phi::SparseCooTensor*)", referenced from:
void phi::sparse::ElementWiseAddCooGradCPUKernel<float, int, phi::CPUContext>(phi::CPUContext const&, phi::SparseCooTensor const&, phi::SparseCooTensor const&, phi::SparseCooTensor const&, phi::SparseCooTensor*, phi::SparseCooTensor*) in libphi_static_1.a(elementwise_grad_kernel.cc.o)
void phi::sparse::ElementWiseAddCooGradCPUKernel<float, long long, phi::CPUContext>(phi::CPUContext const&, phi::SparseCooTensor const&, phi::SparseCooTensor const&, phi::SparseCooTensor const&, phi::SparseCooTensor*, phi::SparseCooTensor*) in libphi_static_1.a(elementwise_grad_kernel.cc.o)
void phi::sparse::ElementWiseAddCooGradCPUKernel<float, signed char, phi::CPUContext>(phi::CPUContext const&, phi::SparseCooTensor const&, phi::SparseCooTensor const&, phi::SparseCooTensor const&, phi::SparseCooTensor*, phi::SparseCooTensor*) in libphi_static_1.a(elementwise_grad_kernel.cc.o)
void phi::sparse::ElementWiseAddCooGradCPUKernel<float, unsigned char, phi::CPUContext>(phi::CPUContext const&, phi::SparseCooTensor const&, phi::SparseCooTensor const&, phi::SparseCooTensor const&, phi::SparseCooTensor*, phi::SparseCooTensor*) in libphi_static_1.a(elementwise_grad_kernel.cc.o)
void phi::sparse::ElementWiseAddCooGradCPUKernel<float, short, phi::CPUContext>(phi::CPUContext const&, phi::SparseCooTensor const&, phi::SparseCooTensor const&, phi::SparseCooTensor const&, phi::SparseCooTensor*, phi::SparseCooTensor*) in libphi_static_1.a(elementwise_grad_kernel.cc.o)
void phi::sparse::ElementWiseAddCooGradCPUKernel<double, int, phi::CPUContext>(phi::CPUContext const&, phi::SparseCooTensor const&, phi::SparseCooTensor const&, phi::SparseCooTensor const&, phi::SparseCooTensor*, phi::SparseCooTensor*) in libphi_static_1.a(elementwise_grad_kernel.cc.o)
void phi::sparse::ElementWiseAddCooGradCPUKernel<double, long long, phi::CPUContext>(phi::CPUContext const&, phi::SparseCooTensor const&, phi::SparseCooTensor const&, phi::SparseCooTensor const&, phi::SparseCooTensor*, phi::SparseCooTensor*) in libphi_static_1.a(elementwise_grad_kernel.cc.o)
...
"void phi::Copyphi::CPUContext(phi::CPUContext const&, phi::SparseCsrTensor const&, phi::Place, bool, phi::SparseCsrTensor*)", referenced from:
void phi::sparse::ElementWiseAddCsrGradCPUKernel<float, int, phi::CPUContext>(phi::CPUContext const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor*, phi::SparseCsrTensor*) in libphi_static_1.a(elementwise_grad_kernel.cc.o)
void phi::sparse::ElementWiseAddCsrGradCPUKernel<float, long long, phi::CPUContext>(phi::CPUContext const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor*, phi::SparseCsrTensor*) in libphi_static_1.a(elementwise_grad_kernel.cc.o)
void phi::sparse::ElementWiseAddCsrGradCPUKernel<float, signed char, phi::CPUContext>(phi::CPUContext const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor*, phi::SparseCsrTensor*) in libphi_static_1.a(elementwise_grad_kernel.cc.o)
void phi::sparse::ElementWiseAddCsrGradCPUKernel<float, unsigned char, phi::CPUContext>(phi::CPUContext const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor*, phi::SparseCsrTensor*) in libphi_static_1.a(elementwise_grad_kernel.cc.o)
void phi::sparse::ElementWiseAddCsrGradCPUKernel<float, short, phi::CPUContext>(phi::CPUContext const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor*, phi::SparseCsrTensor*) in libphi_static_1.a(elementwise_grad_kernel.cc.o)
void phi::sparse::ElementWiseAddCsrGradCPUKernel<double, int, phi::CPUContext>(phi::CPUContext const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor*, phi::SparseCsrTensor*) in libphi_static_1.a(elementwise_grad_kernel.cc.o)
void phi::sparse::ElementWiseAddCsrGradCPUKernel<double, long long, phi::CPUContext>(phi::CPUContext const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor const&, phi::SparseCsrTensor*, phi::SparseCsrTensor*) in libphi_static_1.a(elementwise_grad_kernel.cc.o)
...
"phi::funcs::SegmentPoolFunctor<phi::CPUContext, double, int>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentKernelLaunchHelper<phi::CPUContext, double, int>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*, phi::DenseTensor*) in libphi_static_1.a(segment_pool_kernel.cc.o)
"phi::funcs::SegmentPoolFunctor<phi::CPUContext, double, long long>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentKernelLaunchHelper<phi::CPUContext, double, long long>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*, phi::DenseTensor*) in libphi_static_1.a(segment_pool_kernel.cc.o)
"phi::funcs::SegmentPoolFunctor<phi::CPUContext, float, int>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentKernelLaunchHelper<phi::CPUContext, float, int>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*, phi::DenseTensor*) in libphi_static_1.a(segment_pool_kernel.cc.o)
"phi::funcs::SegmentPoolFunctor<phi::CPUContext, float, long long>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentKernelLaunchHelper<phi::CPUContext, float, long long>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*, phi::DenseTensor*) in libphi_static_1.a(segment_pool_kernel.cc.o)
"phi::funcs::SegmentPoolFunctor<phi::CPUContext, int, int>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentKernelLaunchHelper<phi::CPUContext, int, int>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*, phi::DenseTensor*) in libphi_static_1.a(segment_pool_kernel.cc.o)
"phi::funcs::SegmentPoolFunctor<phi::CPUContext, int, long long>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentKernelLaunchHelper<phi::CPUContext, int, long long>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*, phi::DenseTensor*) in libphi_static_1.a(segment_pool_kernel.cc.o)
"phi::funcs::SegmentPoolFunctor<phi::CPUContext, long long, int>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentKernelLaunchHelper<phi::CPUContext, long long, int>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*, phi::DenseTensor*) in libphi_static_1.a(segment_pool_kernel.cc.o)
"phi::funcs::SegmentPoolFunctor<phi::CPUContext, long long, long long>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, phi::DenseTensor*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentKernelLaunchHelper<phi::CPUContext, long long, long long>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*, phi::DenseTensor*) in libphi_static_1.a(segment_pool_kernel.cc.o)
"phi::funcs::MatrixReduceSumFunctor<double, phi::CPUContext>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*)", referenced from:
void phi::CholeskySolveGradKernel<double, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, bool, phi::DenseTensor*, phi::DenseTensor*) in libphi_static_1.a(cholesky_solve_grad_kernel.cc.o)
void phi::TriangularSolveGradKernel<double, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, bool, bool, bool, phi::DenseTensor*, phi::DenseTensor*) in libphi_static_1.a(triangular_solve_grad_kernel.cc.o)
"phi::funcs::MatrixReduceSumFunctor<float, phi::CPUContext>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor*)", referenced from:
void phi::CholeskySolveGradKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, bool, phi::DenseTensor*, phi::DenseTensor*) in libphi_static_1.a(cholesky_solve_grad_kernel.cc.o)
void phi::TriangularSolveGradKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, bool, bool, bool, phi::DenseTensor*, phi::DenseTensor*) in libphi_static_1.a(triangular_solve_grad_kernel.cc.o)
"phi::funcs::SegmentPoolGradFunctor<phi::CPUContext, double, int>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, paddle::optionalphi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentPoolGradKernel<double, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optionalphi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*) in libphi_static_1.a(segment_pool_grad_kernel.cc.o)
"phi::funcs::SegmentPoolGradFunctor<phi::CPUContext, double, long long>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, paddle::optionalphi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentPoolGradKernel<double, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optionalphi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*) in libphi_static_1.a(segment_pool_grad_kernel.cc.o)
"phi::funcs::SegmentPoolGradFunctor<phi::CPUContext, float, int>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, paddle::optionalphi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentPoolGradKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optionalphi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*) in libphi_static_1.a(segment_pool_grad_kernel.cc.o)
"phi::funcs::SegmentPoolGradFunctor<phi::CPUContext, float, long long>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, paddle::optionalphi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentPoolGradKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optionalphi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*) in libphi_static_1.a(segment_pool_grad_kernel.cc.o)
1 warning generated.
[ 97%] Linking CXX static library libir_analysis_pass.a
[ 97%] Built target ir_analysis_pass
"phi::funcs::SegmentPoolGradFunctor<phi::CPUContext, int, int>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, paddle::optionalphi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
1 warning generated.
void phi::SegmentPoolGradKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optionalphi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*) in libphi_static_1.a(segment_pool_grad_kernel.cc.o)
[ 97%] Linking CXX static library libir_params_sync_among_devices_pass.a
[ 97%] Built target ir_params_sync_among_devices_pass
"phi::funcs::SegmentPoolGradFunctor<phi::CPUContext, int, long long>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, paddle::optionalphi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentPoolGradKernel<int, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optionalphi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*) in libphi_static_1.a(segment_pool_grad_kernel.cc.o)
"phi::funcs::SegmentPoolGradFunctor<phi::CPUContext, long long, int>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, paddle::optionalphi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentPoolGradKernel<long long, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optionalphi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*) in libphi_static_1.a(segment_pool_grad_kernel.cc.o)
"phi::funcs::SegmentPoolGradFunctor<phi::CPUContext, long long, long long>::operator()(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor*, paddle::optionalphi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >)", referenced from:
void phi::SegmentPoolGradKernel<long long, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optionalphi::DenseTensor const&, phi::DenseTensor const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, phi::DenseTensor*) in libphi_static_1.a(segment_pool_grad_kernel.cc.o)
"void phi::funcs::ModulatedDeformableIm2col<double, phi::CPUContext>(phi::CPUContext const&, double const*, double const*, double const*, std::__1::vector<long long, std::__1::allocator > const&, std::__1::vector<long long, std::__1::allocator > const&, std::__1::vector<long long, std::__1::allocator > const&, std::__1::vector<int, std::__1::allocator > const&, std::__1::vector<int, std::__1::allocator > const&, std::__1::vector<int, std::__1::allocator > const&, int, double*)", referenced from:
void phi::DeformableConvKernel<double, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optionalphi::DenseTensor const&, std::__1::vector<int, std::__1::allocator > const&, std::__1::vector<int, std::__1::allocator > const&, std::__1::vector<int, std::__1::allocator > const&, int, int, int, phi::DenseTensor*) in libphi_static_1.a(deformable_conv_kernel.cc.o)
void phi::DeformableConvGradKernel<double, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optionalphi::DenseTensor const&, phi::DenseTensor const&, std::__1::vector<int, std::__1::allocator > const&, std::__1::vector<int, std::__1::allocator > const&, std::__1::vector<int, std::__1::allocator > const&, int, int, int, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*) in libphi_static_1.a(deformable_conv_grad_kernel.cc.o)
"void phi::funcs::ModulatedDeformableIm2col<float, phi::CPUContext>(phi::CPUContext const&, float const*, float const*, float const*, std::__1::vector<long long, std::__1::allocator > const&, std::__1::vector<long long, std::__1::allocator > const&, std::__1::vector<long long, std::__1::allocator > const&, std::__1::vector<int, std::__1::allocator > const&, std::__1::vector<int, std::__1::allocator > const&, std::__1::vector<int, std::__1::allocator > const&, int, float*)", referenced from:
void phi::DeformableConvKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optionalphi::DenseTensor const&, std::__1::vector<int, std::__1::allocator > const&, std::__1::vector<int, std::__1::allocator > const&, std::__1::vector<int, std::__1::allocator > const&, int, int, int, phi::DenseTensor*) in libphi_static_1.a(deformable_conv_kernel.cc.o)
void phi::DeformableConvGradKernel<float, phi::CPUContext>(phi::CPUContext const&, phi::DenseTensor const&, phi::DenseTensor const&, phi::DenseTensor const&, paddle::optionalphi::DenseTensor const&, phi::DenseTensor const&, std::__1::vector<int, std::__1::allocator > const&, std::__1::vector<int, std::__1::allocator > const&, std::__1::vector<int, std::__1::allocator > const&, int, int, int, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*, phi::DenseTensor*) in libphi_static_1.a(deformable_conv_grad_kernel.cc.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [paddle/fluid/eager/auto_code_generator/eager_generator] Error 1
make[2]: *** [paddle/fluid/eager/auto_code_generator/CMakeFiles/eager_generator.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
1 warning generated.
之所以未按照文档指示使用-DWITH_INFER=ON是因为develop和release/2.3两个分支的此选项均无效,CMakeList.txt中没有相应的配置,实测编译完成后也不会出现c/c++预测库。所以我选择使用-DON_INFER=ON配合make的inference_lib_dist参数进行编译。
The reason why I did not stick to the doc to use -DWITH_INFER=ON but rather chose to use -DON_INFER=ON instead, is that -DWITH_INFER=ON was not working in either develop or release/2.3 branch. So I choose to use -DON_INFER=ON with "inference_lib_dist" parameter.
之所以选用develop分支是因为release/2.3分支在使用-DON_INFER=ON时编译会报illegal hardware instruction问题,此问题已经在其他issue中提出但是没有见到后续回复。develop分支编译没有遇到此问题。
The reason why I chose the develop branch is that I have encountered with "illegal hardware instruction" issue in release/2.3 branch with -DON_INFER=ON. This issue has been raised earlier by someone else and I do not see a solution as of now. There is no such issue in the current develop branch.
版本&环境信息 Version & Environment Information
Paddle version: None
Paddle With CUDA: None
OS: macOs 12.4
Python version: 3.9.12
CUDA version: None
cuDNN version: None.None.None
Nvidia driver version: None
Branch:develop
Commit:fix logging debug level (#44684) 8aa286d
CPU:Apple M1 Max
GPU:Apple M1 Max