diff --git a/paddle/cinn/hlir/dialect/operator/ir/CMakeLists.txt b/paddle/cinn/hlir/dialect/operator/ir/CMakeLists.txt index 56f9ab3d5ebe72..89e47a59b546b0 100644 --- a/paddle/cinn/hlir/dialect/operator/ir/CMakeLists.txt +++ b/paddle/cinn/hlir/dialect/operator/ir/CMakeLists.txt @@ -2,7 +2,7 @@ # not found under CINN_ONLY mode if(NOT CINN_ONLY) set(CINN_DIALECT_SOURCE_DIR - "${PADDLE_SOURCE_DIR}/paddle/cinn/hlir/dialect/operator/ir") + "${PADDLE_BINARY_DIR}/paddle/cinn/hlir/dialect/operator/ir") # Generate cinn_op_dialect files defining op using op_gen_file set(cinn_op_gen_parsed_yaml_file @@ -17,7 +17,7 @@ if(NOT CINN_ONLY) set(cinn_op_yaml_file ${PADDLE_SOURCE_DIR}/paddle/cinn/hlir/dialect/operator/ir/ops.yaml) - set(parsed_op_dir ${PADDLE_SOURCE_DIR}/paddle/cinn/hlir/dialect/generated) + set(parsed_op_dir ${PADDLE_BINARY_DIR}/paddle/cinn/hlir/dialect/generated) set(cinn_op_parsed_yaml_file ${parsed_op_dir}/ops.parsed.yaml) diff --git a/paddle/fluid/operators/generator/CMakeLists.txt b/paddle/fluid/operators/generator/CMakeLists.txt index f13cac6eec80c6..2e5525308de039 100644 --- a/paddle/fluid/operators/generator/CMakeLists.txt +++ b/paddle/fluid/operators/generator/CMakeLists.txt @@ -144,31 +144,46 @@ message( execute_process( WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/paddle/fluid/operators/generator + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops COMMAND ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${op_yaml_file} - --output_path ./parsed_ops/ops.parsed.yaml - COMMAND ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${legacy_op_yaml_file} - --output_path ./parsed_ops/legacy_ops.parsed.yaml - COMMAND ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${bw_op_yaml_file} - --output_path ./parsed_ops/backward_ops.parsed.yaml --backward + --output_path ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/ops.parsed.yaml + COMMAND + ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${legacy_op_yaml_file} + --output_path ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/legacy_ops.parsed.yaml + COMMAND + ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${bw_op_yaml_file} + --output_path + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/backward_ops.parsed.yaml --backward COMMAND ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${legacy_bw_op_yaml_file} - --output_path ./parsed_ops/legacy_backward_ops.parsed.yaml --backward - COMMAND ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${static_op_yaml_file} - --output_path ./parsed_ops/static_ops.parsed.yaml - COMMAND ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${fused_op_yaml_file} - --output_path ./parsed_ops/fused_ops.parsed.yaml - COMMAND ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${sparse_op_yaml_file} - --output_path ./parsed_ops/sparse_ops.parsed.yaml + --output_path + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/legacy_backward_ops.parsed.yaml + --backward + COMMAND + ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${static_op_yaml_file} + --output_path ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/static_ops.parsed.yaml + COMMAND + ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${fused_op_yaml_file} + --output_path ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/fused_ops.parsed.yaml + COMMAND + ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${sparse_op_yaml_file} + --output_path ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/sparse_ops.parsed.yaml COMMAND ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${sparse_bw_op_yaml_file} - --output_path ./parsed_ops/sparse_backward.parsed.yaml --backward + --output_path + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/sparse_backward.parsed.yaml + --backward COMMAND ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${static_bw_op_yaml_file} - --output_path ./parsed_ops/static_backward.parsed.yaml --backward + --output_path + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/static_backward.parsed.yaml + --backward COMMAND ${PYTHON_EXECUTABLE} parse_op.py --op_yaml_path ${fused_bw_op_yaml_file} - --output_path ./parsed_ops/fused_backward.parsed.yaml --backward - RESULTS_VARIABLE _results) + --output_path + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/fused_backward.parsed.yaml + --backward RESULTS_VARIABLE _results) foreach(_result in ${_results}) if(${_result}) message(FATAL_ERROR "op yaml parsing failed, exiting.") @@ -183,9 +198,11 @@ execute_process( WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/paddle/fluid/operators/generator COMMAND ${PYTHON_EXECUTABLE} cross_validate.py --forward_yaml_paths - ./parsed_ops/ops.parsed.yaml ./parsed_ops/legacy_ops.parsed.yaml - --backward_yaml_paths ./parsed_ops/backward_ops.parsed.yaml - ./parsed_ops/legacy_backward_ops.parsed.yaml + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/ops.parsed.yaml + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/legacy_ops.parsed.yaml + --backward_yaml_paths + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/backward_ops.parsed.yaml + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/legacy_backward_ops.parsed.yaml RESULT_VARIABLE _result) if(${_result}) message(FATAL_ERROR "ops validation failed, exiting.") @@ -195,8 +212,9 @@ execute_process( WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/paddle/fluid/operators/generator COMMAND ${PYTHON_EXECUTABLE} cross_validate.py --forward_yaml_paths - ./parsed_ops/static_ops.parsed.yaml --backward_yaml_paths - ./parsed_ops/static_backward.parsed.yaml + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/static_ops.parsed.yaml + --backward_yaml_paths + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/static_backward.parsed.yaml RESULT_VARIABLE _result) if(${_result}) message(FATAL_ERROR "static ops validation failed, exiting.") @@ -206,8 +224,9 @@ execute_process( WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/paddle/fluid/operators/generator COMMAND ${PYTHON_EXECUTABLE} cross_validate.py --forward_yaml_paths - ./parsed_ops/fused_ops.parsed.yaml --backward_yaml_paths - ./parsed_ops/fused_backward.parsed.yaml + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/fused_ops.parsed.yaml + --backward_yaml_paths + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/fused_backward.parsed.yaml RESULT_VARIABLE _result) if(${_result}) message(FATAL_ERROR "fused ops validation failed, exiting.") @@ -217,8 +236,9 @@ execute_process( WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/paddle/fluid/operators/generator COMMAND ${PYTHON_EXECUTABLE} cross_validate.py --forward_yaml_paths - ./parsed_ops/sparse_ops.parsed.yaml --backward_yaml_paths - ./parsed_ops/sparse_backward.parsed.yaml + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/sparse_ops.parsed.yaml + --backward_yaml_paths + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/sparse_backward.parsed.yaml RESULT_VARIABLE _result) if(${_result}) message(FATAL_ERROR "sparse ops validation failed, exiting.") @@ -233,8 +253,9 @@ execute_process( WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/paddle/fluid/operators/generator COMMAND ${PYTHON_EXECUTABLE} generate_op.py --ops_yaml_path - ./parsed_ops/ops.parsed.yaml --backward_yaml_path - ./parsed_ops/backward_ops.parsed.yaml --op_version_yaml_path + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/ops.parsed.yaml --backward_yaml_path + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/backward_ops.parsed.yaml + --op_version_yaml_path ${CMAKE_SOURCE_DIR}/paddle/phi/api/yaml/op_version.yaml --op_compat_yaml_path ${CMAKE_SOURCE_DIR}/paddle/phi/api/yaml/op_compat.yaml --output_op_path "${generated_op_path_1}.tmp" "${generated_op_path_2}.tmp" @@ -249,8 +270,10 @@ execute_process( WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/paddle/fluid/operators/generator COMMAND ${PYTHON_EXECUTABLE} generate_op.py --ops_yaml_path - ./parsed_ops/static_ops.parsed.yaml --backward_yaml_path - ./parsed_ops/static_backward.parsed.yaml --op_version_yaml_path + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/static_ops.parsed.yaml + --backward_yaml_path + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/static_backward.parsed.yaml + --op_version_yaml_path ${CMAKE_SOURCE_DIR}/paddle/phi/api/yaml/op_version.yaml --op_compat_yaml_path ${CMAKE_SOURCE_DIR}/paddle/phi/api/yaml/op_compat.yaml --output_op_path "${generated_static_op_path}.tmp" --output_arg_map_path @@ -264,8 +287,10 @@ execute_process( WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/paddle/fluid/operators/generator COMMAND ${PYTHON_EXECUTABLE} generate_op.py --ops_yaml_path - ./parsed_ops/fused_ops.parsed.yaml --backward_yaml_path - ./parsed_ops/fused_backward.parsed.yaml --op_version_yaml_path + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/fused_ops.parsed.yaml + --backward_yaml_path + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/fused_backward.parsed.yaml + --op_version_yaml_path ${CMAKE_SOURCE_DIR}/paddle/phi/api/yaml/op_version.yaml --op_compat_yaml_path ${CMAKE_SOURCE_DIR}/paddle/phi/api/yaml/op_compat.yaml --output_op_path "${generated_fused_op_path}.tmp" --output_arg_map_path @@ -279,9 +304,10 @@ execute_process( WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/paddle/fluid/operators/generator COMMAND ${PYTHON_EXECUTABLE} generate_sparse_op.py --ops_yaml_path - ./parsed_ops/sparse_ops.parsed.yaml --backward_ops_yaml_path - ./parsed_ops/sparse_backward.parsed.yaml --output_op_path - "${generated_sparse_ops_path}.tmp" --output_arg_map_path + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/sparse_ops.parsed.yaml + --backward_ops_yaml_path + ${CMAKE_CURRENT_BINARY_DIR}/parsed_ops/sparse_backward.parsed.yaml + --output_op_path "${generated_sparse_ops_path}.tmp" --output_arg_map_path "${generated_sparse_argument_mapping_path}.tmp" RESULT_VARIABLE _result) if(${_result}) diff --git a/paddle/fluid/pir/dialect/CMakeLists.txt b/paddle/fluid/pir/dialect/CMakeLists.txt index 4734d247e858f6..d6726333ff55be 100644 --- a/paddle/fluid/pir/dialect/CMakeLists.txt +++ b/paddle/fluid/pir/dialect/CMakeLists.txt @@ -1,5 +1,5 @@ set(PD_DIALECT_SOURCE_DIR - "${PADDLE_SOURCE_DIR}/paddle/fluid/pir/dialect/operator/ir") + "${PADDLE_BINARY_DIR}/paddle/fluid/pir/dialect/operator/ir") # Generate pd_op_dialect files defining op using op_gen_file set(op_gen_parsed_yaml_file @@ -12,16 +12,16 @@ set(op_compat_yaml_file ${PADDLE_SOURCE_DIR}/paddle/phi/api/yaml/op_compat.yaml) # YAML files for defining operators set(op_fwd_yaml - ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/ops.parsed.yaml + ${PADDLE_BINARY_DIR}/paddle/fluid/operators/generator/parsed_ops/ops.parsed.yaml ) set(op_bwd_yaml - ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/backward_ops.parsed.yaml + ${PADDLE_BINARY_DIR}/paddle/fluid/operators/generator/parsed_ops/backward_ops.parsed.yaml ) set(fused_op_fwd_yaml - ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/fused_ops.parsed.yaml + ${PADDLE_BINARY_DIR}/paddle/fluid/operators/generator/parsed_ops/fused_ops.parsed.yaml ) set(fused_op_bwd_yaml - ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/fused_backward.parsed.yaml + ${PADDLE_BINARY_DIR}/paddle/fluid/operators/generator/parsed_ops/fused_backward.parsed.yaml ) set(pir_op_fwd_src_yaml ${PADDLE_SOURCE_DIR}/paddle/fluid/pir/dialect/operator/ir/ops.yaml) @@ -31,7 +31,7 @@ set(pir_op_bwd_src_yaml set(pir_update_op_fwd_src_yaml ${PADDLE_SOURCE_DIR}/paddle/fluid/pir/dialect/operator/ir/update_ops.yaml) set(parsed_op_dir - ${PADDLE_SOURCE_DIR}/paddle/fluid/pir/dialect/operator/ir/generated) + ${PADDLE_BINARY_DIR}/paddle/fluid/pir/dialect/operator/ir/generated) set(pir_op_fwd_yaml ${parsed_op_dir}/ops.parsed.yaml) set(pir_op_bwd_yaml ${parsed_op_dir}/ops_backward.parsed.yaml) set(pir_update_op_fwd_yaml ${parsed_op_dir}/update_ops.parsed.yaml) diff --git a/paddle/fluid/pir/drr/CMakeLists.txt b/paddle/fluid/pir/drr/CMakeLists.txt index d35693c674c61f..1d676d9639f270 100644 --- a/paddle/fluid/pir/drr/CMakeLists.txt +++ b/paddle/fluid/pir/drr/CMakeLists.txt @@ -5,30 +5,30 @@ set(op_creator_gen_file ) set(op_compat_yaml_file ${PADDLE_SOURCE_DIR}/paddle/phi/api/yaml/op_compat.yaml) set(op_forward_yaml_file1 - ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/ops.parsed.yaml + ${PADDLE_BINARY_DIR}/paddle/fluid/operators/generator/parsed_ops/ops.parsed.yaml ) set(op_forward_yaml_file3 - ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/update_ops.parsed.yaml + ${PADDLE_BINARY_DIR}/paddle/fluid/operators/generator/parsed_ops/update_ops.parsed.yaml ) set(op_backward_yaml_file1 - ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/backward_ops.parsed.yaml + ${PADDLE_BINARY_DIR}/paddle/fluid/operators/generator/parsed_ops/backward_ops.parsed.yaml ) set(fused_op_forward_yaml_file - ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/fused_ops.parsed.yaml + ${PADDLE_BINARY_DIR}/paddle/fluid/operators/generator/parsed_ops/fused_ops.parsed.yaml ) set(fused_op_backward_yaml_file - ${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/fused_backward.parsed.yaml + ${PADDLE_BINARY_DIR}/paddle/fluid/operators/generator/parsed_ops/fused_backward.parsed.yaml ) set(cinn_op_yaml_file - ${PADDLE_SOURCE_DIR}/paddle/cinn/hlir/dialect/generated/ops.parsed.yaml) + ${PADDLE_BINARY_DIR}/paddle/cinn/hlir/dialect/generated/ops.parsed.yaml) set(cinn_op_yaml_source_file ${PADDLE_SOURCE_DIR}/paddle/cinn/hlir/dialect/operator/ir/ops.yaml) set(parsed_op_dir - ${PADDLE_SOURCE_DIR}/paddle/fluid/pir/dialect/operator/ir/generated) + ${PADDLE_BINARY_DIR}/paddle/fluid/pir/dialect/operator/ir/generated) set(op_yaml_file3 ${parsed_op_dir}/ops.parsed.yaml) set(op_yaml_file4 ${parsed_op_dir}/ops_backward.parsed.yaml) diff --git a/paddle/fluid/prim/api/auto_code_generated/CMakeLists.txt b/paddle/fluid/prim/api/auto_code_generated/CMakeLists.txt index 4bfa314adfa36a..8a941e67b2329d 100644 --- a/paddle/fluid/prim/api/auto_code_generated/CMakeLists.txt +++ b/paddle/fluid/prim/api/auto_code_generated/CMakeLists.txt @@ -1,8 +1,8 @@ set(api_yaml_path - "${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/ops.parsed.yaml" + "${PADDLE_BINARY_DIR}/paddle/fluid/operators/generator/parsed_ops/ops.parsed.yaml" ) set(legacy_api_yaml_path - "${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops/legacy_ops.parsed.yaml" + "${PADDLE_BINARY_DIR}/paddle/fluid/operators/generator/parsed_ops/legacy_ops.parsed.yaml" ) set(api_compat_yaml_path "${PADDLE_SOURCE_DIR}/paddle/phi/api/yaml/op_compat.yaml") diff --git a/paddle/fluid/primitive/backend/CMakeLists.txt b/paddle/fluid/primitive/backend/CMakeLists.txt index 3e857778a4f144..91529ad5c4126b 100644 --- a/paddle/fluid/primitive/backend/CMakeLists.txt +++ b/paddle/fluid/primitive/backend/CMakeLists.txt @@ -1,5 +1,5 @@ set(eager_backend_files - ${CMAKE_CURRENT_SOURCE_DIR}/generated/generated_eager_backend.cc) + ${CMAKE_CURRENT_BINARY_DIR}/generated/generated_eager_backend.cc) if(WITH_PYTHON OR NOT ON_INFER) cc_library( primitive_backend_eager_experimental @@ -7,7 +7,7 @@ if(WITH_PYTHON OR NOT ON_INFER) DEPS final_dygraph_function eager_utils phi common) endif() set(static_backend_files - ${CMAKE_CURRENT_SOURCE_DIR}/generated/generated_static_backend.cc + ${CMAKE_CURRENT_BINARY_DIR}/generated/generated_static_backend.cc ${CMAKE_CURRENT_SOURCE_DIR}/manual/manual_static_backend.cc) cc_library( primitive_backend_static_experimental diff --git a/paddle/fluid/primitive/codegen/CMakeLists.txt b/paddle/fluid/primitive/codegen/CMakeLists.txt index 885fcb83dc38c1..87a10fa1aa1d8d 100644 --- a/paddle/fluid/primitive/codegen/CMakeLists.txt +++ b/paddle/fluid/primitive/codegen/CMakeLists.txt @@ -1,21 +1,21 @@ set(parsed_yaml_path - "${PADDLE_SOURCE_DIR}/paddle/fluid/operators/generator/parsed_ops") + "${PADDLE_BINARY_DIR}/paddle/fluid/operators/generator/parsed_ops") set(fwd_path ${parsed_yaml_path}/ops.parsed.yaml) set(rev_path ${parsed_yaml_path}/backward_ops.parsed.yaml) set(fwd_pd_op_path - ${PADDLE_SOURCE_DIR}/paddle/fluid/pir/dialect/operator/ir/generated/ops.parsed.yaml + ${PADDLE_BINARY_DIR}/paddle/fluid/pir/dialect/operator/ir/generated/ops.parsed.yaml ) set(update_fwd_pd_op_path - ${PADDLE_SOURCE_DIR}/paddle/fluid/pir/dialect/operator/ir/generated/update_ops.parsed.yaml + ${PADDLE_BINARY_DIR}/paddle/fluid/pir/dialect/operator/ir/generated/update_ops.parsed.yaml ) set(rev_pd_op_path - ${PADDLE_SOURCE_DIR}/paddle/fluid/pir/dialect/operator/ir/generated/ops_backward.parsed.yaml + ${PADDLE_BINARY_DIR}/paddle/fluid/pir/dialect/operator/ir/generated/ops_backward.parsed.yaml ) set(prim_path "${PADDLE_SOURCE_DIR}/paddle/fluid/primitive/primitive.yaml") set(templates_dir "${PADDLE_SOURCE_DIR}/paddle/fluid/primitive/codegen/templates/") set(compat_path "${PADDLE_SOURCE_DIR}/paddle/phi/api/yaml/op_compat.yaml") -set(destination_dir "${PADDLE_SOURCE_DIR}/paddle/fluid/primitive/") +set(destination_dir "${PADDLE_BINARY_DIR}/paddle/fluid/primitive/") set(scripts "${PADDLE_SOURCE_DIR}/paddle/fluid/primitive/codegen/gen.py") message("Automatic code generation for paddle/fluid/primitive") @@ -42,7 +42,7 @@ execute_process( ${PADDLE_SOURCE_DIR}/paddle/fluid/primitive/codegen/decomp_gen.py --fwd_path ${fwd_path} --fwd_pd_op_path ${fwd_pd_op_path} --templates_dir ${templates_dir} --compat_path ${compat_path} --destination_dir - ${PADDLE_SOURCE_DIR}/paddle/fluid/pir/dialect/operator/ir/op_decomp.cc + ${PADDLE_BINARY_DIR}/paddle/fluid/pir/dialect/operator/ir/op_decomp.cc RESULT_VARIABLE _result) if(${_result}) message( diff --git a/paddle/fluid/primitive/rule/vjp/CMakeLists.txt b/paddle/fluid/primitive/rule/vjp/CMakeLists.txt index c0f52d0d55df5f..e4b7b13e99c5d6 100644 --- a/paddle/fluid/primitive/rule/vjp/CMakeLists.txt +++ b/paddle/fluid/primitive/rule/vjp/CMakeLists.txt @@ -1,5 +1,5 @@ set(VJP_SRCS - ${PADDLE_SOURCE_DIR}/paddle/fluid/primitive/rule/vjp/generated/generated_vjp.cc + ${PADDLE_BINARY_DIR}/paddle/fluid/primitive/rule/vjp/generated/generated_vjp.cc ${PADDLE_SOURCE_DIR}/paddle/fluid/primitive/rule/vjp/manual/manual_vjp.cc) cc_library( primitive_vjp_experimental