PaddlePaddle / Paddle

PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)
http://www.paddlepaddle.org/
Apache License 2.0
22.16k stars 5.57k forks source link

编译paddle-xpu包,报错 #68463

Open Newcomer-CL opened 3 weeks ago

Newcomer-CL commented 3 weeks ago

请提出你的问题 Please ask your question

环境: 1)想编译最新版PaddlePaddle版本:3.0 2)CPU:Phytium,FT-2000+/64 aarch64 3)XPU:R200 4)系统环境:kylinv10 5)gcc/g++ :8.2 6)python版本:3.9

安装方式 cmake .. -DPY_VERSION=3.9 -DPYTHON_EXECUTABLE=which python3 -DWITH_ARM=ON -DWITH_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DON_INFER=ON -DWITH_XBYAK=OFF -DCMAKE_CXX_FLAGS="-Wno-error -w" -DCMAKE_CXX_STANDARD=17 make TARGET=ARMV8 -j64

make的时候报错:看了一下是std::filesystem问题,我编译加了c++17也没有用 [ 67%] Built target auto_parallel [ 67%] Built target analysis_pass [ 67%] Built target argument Scanning dependencies of target memory_optim_pass [ 67%] Building CXX object paddle/fluid/framework/CMakeFiles/op_compatible_info.dir/op_compatible_info.cc.o [ 67%] Building CXX object paddle/fluid/framework/ir/CMakeFiles/pass_builder.dir/pass_builder.cc.o [ 67%] Building CXX object paddle/fluid/inference/utils/CMakeFiles/model_utils.dir/model_utils.cc.o [ 67%] Building CXX object paddle/fluid/operators/fused/CMakeFiles/fused_matmul_op.dir/fused_matmul_op.cc.o [ 67%] Building CXX object paddle/fluid/operators/controlflow/CMakeFiles/op_variant.dir/op_variant.cc.o [ 67%] Building CXX object paddle/fluid/operators/generator/CMakeFiles/get_expected_kernel_func.dir/get_expected_kernel_func.cc.o [ 67%] Building CXX object paddle/fluid/operators/CMakeFiles/custom_device_common_op_registry.dir/custom_device_common_op_registry.cc.o [ 67%] Building CXX object paddle/fluid/pir/serialize_deserialize/CMakeFiles/pir_save_load.dir/src/interface.cc.o [ 67%] Building CXX object paddle/fluid/pir/serialize_deserialize/CMakeFiles/pir_save_load.dir/src/ir_deserialize.cc.o [ 67%] Building CXX object paddle/fluid/pir/serialize_deserialize/CMakeFiles/pir_save_load.dir/src/ir_serialize.cc.o [ 67%] Building CXX object paddle/fluid/framework/CMakeFiles/prune.dir/prune.cc.o [ 67%] Building CXX object paddle/fluid/pir/serialize_deserialize/CMakeFiles/pir_save_load.dir/src/patch_util.cc.o [ 67%] Building CXX object paddle/fluid/pir/serialize_deserialize/CMakeFiles/pir_save_load.dir/src/save_load_parameters.cc.o [ 67%] Building CXX object paddle/fluid/pir/serialize_deserialize/CMakeFiles/pir_save_load.dir/src/schema.cc.o [ 67%] Building CXX object paddle/fluid/primitive/utils/CMakeFiles/primitive_static_utils_experimental.dir/static_utils.cc.o [ 67%] Building CXX object paddle/fluid/operators/CMakeFiles/load_combine_op.dir/load_combine_op.cc.o [ 67%] Building CXX object paddle/fluid/prim/api/manual_prim/utils/CMakeFiles/static_utils.dir/static_utils.cc.o [ 67%] Building CXX object paddle/fluid/pir/serialize_deserialize/CMakeFiles/pir_save_load.dir/src/version_compat.cc.o [ 67%] Building CXX object paddle/fluid/framework/ir/CMakeFiles/coalesce_grad_tensor_pass.dir/coalesce_grad_tensor_pass.cc.o [ 67%] Building CXX object paddle/fluid/imperative/CMakeFiles/basic_engine.dir/basic_engine.cc.o [ 67%] Building CXX object paddle/fluid/operators/elementwise/CMakeFiles/elementwise_mul_op.dir/elementwise_mul_op.cc.o [ 67%] Building CXX object paddle/fluid/eager/api/generated/eager_generated/backwards/CMakeFiles/scale_node.dir/scale_node.cc.o [ 67%] Building CXX object paddle/fluid/operators/fused/CMakeFiles/multi_gru_op.dir/multi_gru_op.cc.o [ 67%] Building CXX object paddle/fluid/framework/ir/CMakeFiles/pass_test_util.dir/pass_test_util.cc.o [ 67%] Building CXX object paddle/fluid/operators/CMakeFiles/py_func_op.dir/py_func_op.cc.o [ 67%] Building CXX object paddle/fluid/operators/fused/CMakeFiles/fused_conv2d_op.dir/fused_conv2d_op.cc.o [ 67%] Building CXX object paddle/fluid/framework/ir/fuse_optimizer_ops_pass/CMakeFiles/fuse_optimizer_op_pass.dir/fuse_optimizer_op_pass.cc.o [ 67%] Building CXX object paddle/fluid/framework/ir/CMakeFiles/placement_pass_base.dir/placement_pass_base.cc.o [ 67%] Building CXX object paddle/fluid/operators/detection/CMakeFiles/anchor_generator_op.dir/anchor_generator_op.cc.o [ 67%] Building CXX object paddle/fluid/eager/CMakeFiles/grad_tensor_holder.dir/grad_tensor_holder.cc.o [ 67%] Building CXX object paddle/fluid/operators/reader/CMakeFiles/read_op.dir/read_op.cc.o [ 67%] Building CXX object paddle/fluid/framework/ir/multi_devices_graph_pass/CMakeFiles/multi_devices_graph_pass.dir/multi_devices_graph_pass.cc.o [ 67%] Building CXX object paddle/fluid/operators/detection/CMakeFiles/distribute_fpn_proposals_op.dir/distribute_fpn_proposals_op.cc.o [ 67%] Building CXX object paddle/fluid/operators/string/CMakeFiles/faster_tokenizer_op.dir/faster_tokenizer_op.cc.o [ 67%] Building CXX object paddle/fluid/imperative/CMakeFiles/reducer.dir/reducer.cc.o [ 67%] Building CXX object paddle/fluid/operators/elementwise/CMakeFiles/elementwise_div_op.dir/elementwise_div_op.cc.o [ 67%] Building CXX object paddle/fluid/operators/reduce_ops/CMakeFiles/reduce_mean_op.dir/reduce_mean_op.cc.o [ 67%] Building CXX object paddle/fluid/operators/reader/CMakeFiles/reader_op_registry.dir/reader_op_registry.cc.o [ 67%] Building CXX object paddle/fluid/operators/optimizers/CMakeFiles/lars_momentum_op.dir/lars_momentum_op.cc.o [ 68%] Building CXX object paddle/fluid/operators/fused/CMakeFiles/fused_adam_op.dir/fused_adam_op.cc.o [ 68%] Building CXX object paddle/fluid/operators/CMakeFiles/quantize_linear_op.dir/quantize_linear_op.cc.o [ 68%] Building CXX object paddle/fluid/operators/CMakeFiles/save_combine_op.dir/save_combine_op.cc.o [ 68%] Building CXX object paddle/fluid/inference/analysis/passes/CMakeFiles/memory_optim_pass.dir/memory_optimize_pass.cc.o [ 68%] Building CXX object paddle/fluid/operators/elementwise/CMakeFiles/elementwise_sub_op.dir/elementwise_sub_op.cc.o [ 68%] Building CXX object paddle/fluid/operators/fused/CMakeFiles/fused_transpose_op.dir/fused_transpose_op.cc.o [ 68%] Building CXX object paddle/fluid/operators/sequence_ops/CMakeFiles/sequence_mask_op.dir/sequence_mask_op.cc.o [ 68%] Building CXX object paddle/fluid/operators/elementwise/CMakeFiles/elementwise_add_op.dir/elementwise_add_op.cc.o /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/schema.cc: 在函数‘uint64_t pir::GetPirVersion()’中: /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/schema.cc:94:8: 错误:‘std::filesystem’尚未声明 std::filesystem::path patch_path = std::filesystem::path(PATCH_PATH); ^~~~~~ /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/schema.cc:95:32: 错误:‘patch_path’在此作用域中尚未声明 VLOG(8) << "Patch path: " << patch_path; ^~~~~~ /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/schema.cc:95:32: 附注:suggested alternative: ‘putchar’ VLOG(8) << "Patch path: " << patch_path; ^~~~~~ putchar /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/schema.cc:97:23: 错误:‘std::filesystem’尚未声明 for (auto& v : std::filesystem::directory_iterator(patch_path)) { ^~~~~~ /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/schema.cc: 在函数‘uint64_t pir::GetMaxReleasePirVersion()’中: /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/schema.cc:112:8: 错误:‘std::filesystem’尚未声明 std::filesystem::path patch_path = std::filesystem::path(PATCH_PATH); ^~~~~~ /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/schema.cc:113:32: 错误:‘patch_path’在此作用域中尚未声明 VLOG(8) << "Patch path: " << patch_path; ^~~~~~ /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/schema.cc:113:32: 附注:suggested alternative: ‘putchar’ VLOG(8) << "Patch path: " << patch_path; ^~~~~~ putchar /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/schema.cc:115:23: 错误:‘std::filesystem’尚未声明 for (auto& v : std::filesystem::directory_iterator(patch_path)) { ^~~~~~ /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/version_compat.cc: 在成员函数‘void pir::PatchBuilder::BuildPatch(const string&, uint64_t, uint64_t)’中: /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/version_compat.cc:26:10: 错误:‘std::filesystem’尚未声明 std::filesystem::path p(path.c_str()); ^~~~~~ /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/version_compat.cc:27:10: 错误:‘std::filesystem’尚未声明 std::filesystem::path patch_path = p / std::to_string(v % max_version); ^~~~~~ /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/version_compat.cc:28:5: 错误:‘patch_path’在此作用域中尚未声明 patch_path += ".yaml"; ^~~~~~ /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/version_compat.cc:28:5: 附注:suggested alternative: ‘patch_json’ patch_path += ".yaml"; ^~~~~~ patch_json /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/interface.cc: 在函数‘bool pir::ReadModule(const string&, pir::Program*, int64_t)’中: /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/interface.cc:96:12: 错误:‘std::filesystem’尚未声明 std::filesystem::path patch_path = std::filesystem::path(PATCH_PATH); ^~~~~~ /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/interface.cc:97:36: 错误:‘patch_path’在此作用域中尚未声明 VLOG(8) << "Patch path: " << patch_path; ^~~~~~ /home/test/Paddle/paddle/fluid/pir/serialize_deserialize/src/interface.cc:97:36: 附注:suggested alternative: ‘file_path’ VLOG(8) << "Patch path: " << patch_path; ^~~~~~ file_path make[2]: [paddle/fluid/pir/serialize_deserialize/CMakeFiles/pir_save_load.dir/build.make:147:paddle/fluid/pir/serialize_deserialize/CMakeFiles/pir_save_load.dir/src/schema.cc.o] 错误 1 make[2]: 正在等待未完成的任务.... make[2]: [paddle/fluid/pir/serialize_deserialize/CMakeFiles/pir_save_load.dir/build.make:82:paddle/fluid/pir/serialize_deserialize/CMakeFiles/pir_save_load.dir/src/interface.cc.o] 错误 1 make[2]: [paddle/fluid/pir/serialize_deserialize/CMakeFiles/pir_save_load.dir/build.make:160:paddle/fluid/pir/serialize_deserialize/CMakeFiles/pir_save_load.dir/src/version_compat.cc.o] 错误 1 [ 68%] Linking CXX static library libmodel_utils.a [ 68%] Built target model_utils [ 68%] Linking CXX static library libop_compatible_info.a [ 68%] Built target op_compatible_info [ 68%] Linking CXX static library libpass_builder.a [ 68%] Built target pass_builder [ 69%] Linking CXX static library libprune.a [ 69%] Built target prune [ 69%] Linking CXX static library libquantize_helper.a [ 69%] Built target quantize_helper [ 69%] Linking CXX static library libgraph_traits.a [ 69%] Built target graph_traits

还有一个问题就是,为什么使用paddle官方页面的pip安装方式没有用 image image

lijialin03 commented 3 weeks ago

感谢您的反馈!正在联系相关同学进行复现 另外我这边试着执行安装命令可以正常找到包,直接点进命令指定的网页 https://www.paddlepaddle.org.cn/packages/nightly/xpu/ 看也可以看到paddlepaddle-xpu,也许现在刚好更新了,您再尝试一下 image

Newcomer-CL commented 3 weeks ago

@lijialin03 您好,我刚才点击链接进去后发现都是x86_64,能提供aarch64架构的包的链接吗

HarperCy commented 3 weeks ago

@Newcomer-CL 您好,目前官方提供的包只有x86平台的,暂未发布支持aarch64的包。

上面编译的报错也应该是跟目前paddlepaddle-xpu不支持aarch64导致的