You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

CMakeLists.txt 31 kB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587
  1. # Copyright 2019-2020 Huawei Technologies Co., Ltd
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. # ============================================================================
  15. project(ut_ge)
  16. set(CMAKE_CXX_STANDARD 11)
  17. file(GLOB_RECURSE PROTO_LIST RELATIVE ${CMAKE_CURRENT_LIST_DIR}
  18. "${GE_SOURCE_DIR}/src/proto/om.proto"
  19. "${GE_SOURCE_DIR}/src/proto/ge_ir.proto"
  20. "${GE_SOURCE_DIR}/src/proto/ge_api.proto"
  21. "${GE_SOURCE_DIR}/src/proto/fwk_adapter.proto"
  22. "${GE_SOURCE_DIR}/src/proto/op_mapping_info.proto"
  23. "${GE_SOURCE_DIR}/src/proto/ge_api.proto"
  24. "${onnx_INC}/onnx/onnx.proto"
  25. )
  26. ge_protobuf_generate(ge PROTO_SRCS PROTO_HDRS ${PROTO_LIST})
  27. # include directories
  28. include_directories(${CMAKE_CURRENT_LIST_DIR})
  29. include_directories(${GE_SOURCE_DIR})
  30. include_directories(${GE_SOURCE_DIR}/src/ge/inc)
  31. include_directories(${GE_SOURCE_DIR}/src)
  32. include_directories(${GE_SOURCE_DIR}/src/ge)
  33. include_directories(${GE_SOURCE_DIR}/src/common)
  34. include_directories(${GE_SOURCE_DIR}/src/common/graph)
  35. include_directories(${GE_SOURCE_DIR}/inc)
  36. include_directories(${GE_SOURCE_DIR}/inc/external)
  37. include_directories(${GE_SOURCE_DIR}/inc/external/graph)
  38. include_directories(${GE_SOURCE_DIR}/inc/graph)
  39. include_directories(${GE_SOURCE_DIR}/inc/framework)
  40. include_directories(${GE_SOURCE_DIR}/inc/common)
  41. include_directories(${GE_SOURCE_DIR}/third_party/fwkacllib/inc)
  42. include_directories(${GE_SOURCE_DIR}/third_party/fwkacllib/inc/cce)
  43. include_directories(${GE_SOURCE_DIR}/third_party/fwkacllib/inc/ops)
  44. include_directories(${GE_SOURCE_DIR}/tests/ut/ge)
  45. include_directories(${CMAKE_BINARY_DIR})
  46. include_directories(${CMAKE_BINARY_DIR}/proto/ge)
  47. file(GLOB_RECURSE COMMON_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  48. "${GE_SOURCE_DIR}/src/ge/common/properties_manager.cc"
  49. "${GE_SOURCE_DIR}/src/ge/common/ge/plugin_manager.cc"
  50. "${GE_SOURCE_DIR}/src/ge/common/ge/tbe_plugin_manager.cc"
  51. "${GE_SOURCE_DIR}/src/common/graph/option/ge_local_context.cc"
  52. "${GE_SOURCE_DIR}/src/common/graph/option/ge_context.cc"
  53. "${GE_SOURCE_DIR}/src/ge/common/types.cc"
  54. "${GE_SOURCE_DIR}/src/ge/common/op_map.cc"
  55. "${GE_SOURCE_DIR}/src/ge/common/fmk_error_codes.cc"
  56. "${GE_SOURCE_DIR}/src/ge/common/op/ge_op_utils.cc"
  57. "${GE_SOURCE_DIR}/src/ge/graph/manager/util/node_searcher/need_rebuild_node_searcher.cc"
  58. "${GE_SOURCE_DIR}/src/ge/graph/manager/util/variable_accelerate_ctrl.cc"
  59. "${GE_SOURCE_DIR}/src/ge/opskernel_manager/ops_kernel_manager.cc"
  60. "${GE_SOURCE_DIR}/src/ge/generator/ge_generator.cc"
  61. "${GE_SOURCE_DIR}/src/ge/generator/generator_api.cc"
  62. "${GE_SOURCE_DIR}/src/ge/graph/common/omg_util.cc"
  63. "${GE_SOURCE_DIR}/src/ge/graph/common/bcast.cc"
  64. "${GE_SOURCE_DIR}/src/ge/common/util.cc"
  65. "${GE_SOURCE_DIR}/src/common/graph/ge_attr_define.cc"
  66. "${GE_SOURCE_DIR}/src/common/graph/anchor.cc"
  67. "${GE_SOURCE_DIR}/src/common/graph/ge_attr_value.cc"
  68. "${GE_SOURCE_DIR}/src/common/graph/attr_value.cc"
  69. "${GE_SOURCE_DIR}/src/common/graph/buffer.cc"
  70. "${GE_SOURCE_DIR}/src/common/graph/compute_graph.cc"
  71. "${GE_SOURCE_DIR}/src/common/graph/graph.cc"
  72. "${GE_SOURCE_DIR}/src/common/graph/inference_context.cc"
  73. "${GE_SOURCE_DIR}/src/common/graph/shape_refiner.cc"
  74. "${GE_SOURCE_DIR}/src/common/graph/model.cc"
  75. "${GE_SOURCE_DIR}/src/common/graph/model_serialize.cc"
  76. "${GE_SOURCE_DIR}/src/common/graph/node.cc"
  77. "${GE_SOURCE_DIR}/src/common/graph/op_desc.cc"
  78. "${GE_SOURCE_DIR}/src/common/graph/operator.cc"
  79. "${GE_SOURCE_DIR}/src/common/graph/operator_factory.cc"
  80. "${GE_SOURCE_DIR}/src/common/graph/operator_factory_impl.cc"
  81. "${GE_SOURCE_DIR}/src/common/graph/operator_reg.cc"
  82. "${GE_SOURCE_DIR}/src/common/graph/range_vistor.cc"
  83. "${GE_SOURCE_DIR}/src/common/graph/ge_tensor.cc"
  84. "${GE_SOURCE_DIR}/src/common/graph/tensor.cc"
  85. "${GE_SOURCE_DIR}/src/common/graph/detail/attributes_holder.cc"
  86. "${GE_SOURCE_DIR}/src/common/graph/utils/anchor_utils.cc"
  87. "${GE_SOURCE_DIR}/src/common/graph/utils/graph_utils.cc"
  88. "${GE_SOURCE_DIR}/src/common/graph/utils/ge_ir_utils.cc"
  89. "${GE_SOURCE_DIR}/src/common/graph/utils/node_utils.cc"
  90. "${GE_SOURCE_DIR}/src/common/graph/utils/op_desc_utils.cc"
  91. "${GE_SOURCE_DIR}/src/common/graph/utils/tensor_utils.cc"
  92. "${GE_SOURCE_DIR}/src/common/graph/utils/type_utils.cc"
  93. "${GE_SOURCE_DIR}/src/common/graph/debug/graph_debug.cc"
  94. "${GE_SOURCE_DIR}/src/common/graph/opsproto/opsproto_manager.cc"
  95. "${GE_SOURCE_DIR}/src/common/graph/op_imp.cc"
  96. "${GE_SOURCE_DIR}/src/common/register/register.cc"
  97. "${GE_SOURCE_DIR}/src/common/register/op_kernel_registry.cc"
  98. "${GE_SOURCE_DIR}/tests/depends/cce/src/op_kernel_registry.cc"
  99. "${GE_SOURCE_DIR}/src/common/register/auto_mapping_util.cc"
  100. "${GE_SOURCE_DIR}/src/common/register/tensor_assign.cc"
  101. "${GE_SOURCE_DIR}/src/common/graph/format_refiner.cc"
  102. )
  103. file(GLOB_RECURSE COMMON_FORMAT_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  104. "${GE_SOURCE_DIR}/src/ge/common/fp16_t.cc"
  105. "${GE_SOURCE_DIR}/src/ge/common/ge_format_util.cc"
  106. "${GE_SOURCE_DIR}/src/ge/common/formats/formats.cc"
  107. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/datatype_transfer.cc"
  108. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/format_transfer.cc"
  109. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/format_transfer_transpose.cc"
  110. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/format_transfer_nchw_nc1hwc0.cc"
  111. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/format_transfer_fractal_z.cc"
  112. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/format_transfer_fractal_nz.cc"
  113. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/format_transfer_fractal_zz.cc"
  114. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/format_transfer_nhwc_nc1hwc0.cc"
  115. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nchw.cc"
  116. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/format_transfer_nc1hwc0_nhwc.cc"
  117. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/format_transfer_hwcn_c1hwncoc0.cc"
  118. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/format_transfer_c1hwncoc0_hwcn.cc"
  119. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/format_transfer_fracz_nchw.cc"
  120. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/format_transfer_fracz_nhwc.cc"
  121. "${GE_SOURCE_DIR}/src/ge/common/formats/format_transfers/format_transfer_fracz_hwcn.cc"
  122. "${GE_SOURCE_DIR}/src/ge/common/formats/utils/formats_trans_utils.cc"
  123. )
  124. file(GLOB_RECURSE GRAPH_OPTIMIZE_COMMON_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  125. "${GE_SOURCE_DIR}/src/ge/graph/optimize/graph_optimize.cc"
  126. "${GE_SOURCE_DIR}/src/ge/graph/optimize/summary_optimize.cc"
  127. )
  128. file(GLOB_RECURSE GRAPH_PREPARE_COMMON_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  129. "${GE_SOURCE_DIR}/src/ge/graph/preprocess/graph_preprocess.cc"
  130. "${GE_SOURCE_DIR}/src/ge/graph/preprocess/insert_op/util_insert_aipp_op.cc"
  131. "${GE_SOURCE_DIR}/src/ge/graph/preprocess/insert_op/ge_aipp_op.cc"
  132. "${GE_SOURCE_DIR}/src/ge/graph/preprocess/insert_op/base_insert_op.cc"
  133. )
  134. file(GLOB_RECURSE GRAPH_PARTITION_COMMON_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  135. "${GE_SOURCE_DIR}/src/ge/graph/partition/graph_partition.cc"
  136. "${GE_SOURCE_DIR}/src/ge/plugin/engine/dnnengines.cc"
  137. "${GE_SOURCE_DIR}/src/ge/graph/partition/engine_place.cc"
  138. )
  139. file(GLOB_RECURSE GRAPH_LOAD_COMMON_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  140. "${GE_SOURCE_DIR}/src/ge/graph/load/graph_loader.cc"
  141. "${GE_SOURCE_DIR}/src/ge/graph/manager/graph_manager_utils.cc"
  142. "${GE_SOURCE_DIR}/src/ge/omm/csa_interact.cc"
  143. "${GE_SOURCE_DIR}/src/ge/graph/manager/graph_mem_allocator.cc"
  144. "${GE_SOURCE_DIR}/src/ge/graph/manager/graph_var_manager.cc"
  145. "${GE_SOURCE_DIR}/src/ge/graph/manager/trans_var_data_utils.cc"
  146. "${GE_SOURCE_DIR}/src/ge/common/util.cc"
  147. )
  148. file(GLOB_RECURSE DISTINCT_GRAPH_LOAD_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  149. "${GE_SOURCE_DIR}/src/ge/graph/manager/util/hcom_util.cc"
  150. "${GE_SOURCE_DIR}/src/ge/graph/manager/util/debug.cc"
  151. "${GE_SOURCE_DIR}/src/ge/common/properties_manager.cc"
  152. "${GE_SOURCE_DIR}/src/ge/common/profiling/profiling_manager.cc"
  153. "${GE_SOURCE_DIR}/src/ge/common/model_parser/base.cc"
  154. "${GE_SOURCE_DIR}/src/ge/common/tbe_kernel_store.cc"
  155. "${GE_SOURCE_DIR}/src/ge/common/util.cc"
  156. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/cpu_queue_schedule.cc"
  157. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/data_dumper.cc"
  158. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/data_inputer.cc"
  159. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/davinci_model.cc"
  160. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/davinci_model_parser.cc"
  161. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/model_manager.cc"
  162. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/model_output.cc"
  163. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/model_utils.cc"
  164. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/tbe_handle_store.cc"
  165. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/task_info.cc"
  166. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/event_record_task_info.cc"
  167. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/event_wait_task_info.cc"
  168. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/fusion_start_task_info.cc"
  169. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/fusion_stop_task_info.cc"
  170. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/hccl_task_info.cc"
  171. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/kernel_ex_task_info.cc"
  172. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/kernel_task_info.cc"
  173. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/label_goto_task_info.cc"
  174. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/label_set_task_info.cc"
  175. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/memcpy_async_task_info.cc"
  176. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/profiler_trace_task_info.cc"
  177. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/stream_active_task_info.cc"
  178. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/stream_switch_task_info.cc"
  179. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/end_graph_task_info.cc"
  180. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/model_exit_task_info.cc"
  181. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/super_kernel/super_kernel.cc"
  182. "${GE_SOURCE_DIR}/src/ge/graph/load/new_model_manager/task_info/super_kernel/super_kernel_factory.cc"
  183. "${GE_SOURCE_DIR}/src/ge/graph/load/output/output.cc"
  184. "${GE_SOURCE_DIR}/src/ge/model/ge_model.cc"
  185. "${GE_SOURCE_DIR}/src/ge/common/helper/model_helper.cc"
  186. "${GE_SOURCE_DIR}/src/ge/common/helper/om_file_helper.cc"
  187. "${GE_SOURCE_DIR}/src/ge/common/debug/memory_dumper.cc"
  188. "${GE_SOURCE_DIR}/src/ge/executor/ge_executor.cc"
  189. "${GE_SOURCE_DIR}/src/ge/common/auth/file_saver.cc"
  190. "${GE_SOURCE_DIR}/src/ge/graph/manager/model_manager/event_manager.cc"
  191. "${GE_SOURCE_DIR}/src/ge/graph/manager/custom/custom_op.cc"
  192. )
  193. file(GLOB_RECURSE GRAPH_EXECUTE_COMMON_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  194. "${GE_SOURCE_DIR}/src/ge/graph/execute/graph_execute.cc"
  195. "${GE_SOURCE_DIR}/src/ge/graph/manager/graph_manager.cc"
  196. "${GE_SOURCE_DIR}/src/ge/graph/manager/graph_context.cc"
  197. "${GE_SOURCE_DIR}/src/ge/graph/manager/util/rt_context_util.cc"
  198. "${GE_SOURCE_DIR}/src/ge/graph/manager/graph_context.h"
  199. "${GE_SOURCE_DIR}/src/ge/common/thread_pool.cc"
  200. )
  201. file(GLOB_RECURSE GRAPH_BUILD_COMMON_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  202. "${GE_SOURCE_DIR}/src/ge/graph/build/graph_build.cc"
  203. "${GE_SOURCE_DIR}/src/ge/graph/build/new_model/task_generator.cc"
  204. "${GE_SOURCE_DIR}/src/ge/init/gelib.cc"
  205. "${GE_SOURCE_DIR}/src/ge/client/ge_api.cc"
  206. "${GE_SOURCE_DIR}/src/ge/session/inner_session.cc"
  207. "${GE_SOURCE_DIR}/src/ge/session/session_manager.cc"
  208. "${GE_SOURCE_DIR}/src/ge/engine_manager/dnnengine_manager.cc"
  209. "${GE_SOURCE_DIR}/src/ge/plugin/engine/engine_manage.cc"
  210. "${GE_SOURCE_DIR}/src/ge/graph/build/logical_stream_allocator.cc"
  211. "${GE_SOURCE_DIR}/src/ge/graph/build/stream_allocator.cc"
  212. "${GE_SOURCE_DIR}/src/ge/graph/build/memory/block_mem_assigner.cc"
  213. "${GE_SOURCE_DIR}/src/ge/graph/build/memory/binary_block_mem_assigner.cc"
  214. "${GE_SOURCE_DIR}/src/ge/graph/build/memory/hybrid_mem_assigner.cc"
  215. "${GE_SOURCE_DIR}/src/ge/graph/build/memory/max_block_mem_assigner.cc"
  216. "${GE_SOURCE_DIR}/src/ge/model/ge_model.cc"
  217. "${GE_SOURCE_DIR}/src/ge/common/helper/model_helper.cc"
  218. "${GE_SOURCE_DIR}/src/ge/common/helper/om_file_helper.cc"
  219. "${GE_SOURCE_DIR}/src/ge/common/tbe_kernel_store.cc"
  220. "${GE_SOURCE_DIR}/src/ge/common/model_parser/base.cc"
  221. "${GE_SOURCE_DIR}/src/ge/graph/build/run_context.cc"
  222. "${GE_SOURCE_DIR}/src/ge/graph/build/optimize_stream_graph.cc"
  223. )
  224. file(GLOB_RECURSE GRAPH_PASS_COMMON_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  225. "${GE_SOURCE_DIR}/src/ge/graph/passes/pass_manager.cc"
  226. "${GE_SOURCE_DIR}/src/ge/graph/passes/base_pass.cc"
  227. "${GE_SOURCE_DIR}/src/ge/graph/passes/variable_prepare_op_pass.cc"
  228. "${GE_SOURCE_DIR}/src/ge/graph/passes/variable_ref_delete_op_pass.cc"
  229. "${GE_SOURCE_DIR}/src/ge/graph/passes/atomic_addr_clean_pass.cc"
  230. "${GE_SOURCE_DIR}/src/ge/graph/passes/constant_folding_pass.cc"
  231. "${GE_SOURCE_DIR}/src/ge/graph/passes/iterator_fusion_pass.cc"
  232. "${GE_SOURCE_DIR}/src/ge/graph/passes/iterator_op_pass.cc"
  233. "${GE_SOURCE_DIR}/src/ge/graph/passes/net_output_pass.cc"
  234. "${GE_SOURCE_DIR}/src/ge/graph/passes/update_net_output_pass.cc"
  235. "${GE_SOURCE_DIR}/src/ge/graph/passes/end_graph_pass.cc"
  236. "${GE_SOURCE_DIR}/src/ge/graph/passes/node_pass.cc"
  237. "${GE_SOURCE_DIR}/src/ge/graph/passes/print_op_pass.cc"
  238. "${GE_SOURCE_DIR}/src/ge/graph/passes/dimension_compute_pass.cc"
  239. "${GE_SOURCE_DIR}/src/ge/graph/passes/dimension_adjust_pass.cc"
  240. "${GE_SOURCE_DIR}/src/ge/graph/passes/get_original_format_pass.cc"
  241. "${GE_SOURCE_DIR}/src/ge/graph/passes/stop_gradient_pass.cc"
  242. "${GE_SOURCE_DIR}/src/ge/graph/passes/guarantee_const_pass.cc"
  243. "${GE_SOURCE_DIR}/src/ge/graph/passes/prevent_gradient_pass.cc"
  244. "${GE_SOURCE_DIR}/src/ge/graph/passes/identity_pass.cc"
  245. "${GE_SOURCE_DIR}/src/ge/graph/passes/placeholder_with_default_pass.cc"
  246. "${GE_SOURCE_DIR}/src/ge/graph/passes/snapshot_pass.cc"
  247. "${GE_SOURCE_DIR}/src/ge/graph/passes/shape_operate_op_remove_pass.cc"
  248. "${GE_SOURCE_DIR}/src/ge/graph/passes/unused_op_remove_pass.cc"
  249. "${GE_SOURCE_DIR}/src/ge/graph/passes/isolated_op_remove_pass.cc"
  250. "${GE_SOURCE_DIR}/src/ge/graph/passes/permute_pass.cc"
  251. "${GE_SOURCE_DIR}/src/ge/graph/passes/var_is_initialized_op_pass.cc"
  252. "${GE_SOURCE_DIR}/src/ge/graph/passes/cast_translate_pass.cc"
  253. "${GE_SOURCE_DIR}/src/ge/graph/passes/dropout_scope_split_pass.cc"
  254. "${GE_SOURCE_DIR}/src/ge/graph/passes/prune_pass.cc"
  255. "${GE_SOURCE_DIR}/src/ge/graph/passes/enter_pass.cc"
  256. "${GE_SOURCE_DIR}/src/ge/graph/passes/next_iteration_pass.cc"
  257. "${GE_SOURCE_DIR}/src/ge/graph/passes/switch_op_pass.cc"
  258. "${GE_SOURCE_DIR}/src/ge/graph/passes/pass_utils.cc"
  259. "${GE_SOURCE_DIR}/src/ge/graph/passes/addn_pass.cc"
  260. "${GE_SOURCE_DIR}/src/ge/graph/passes/save_pass.cc"
  261. "${GE_SOURCE_DIR}/src/ge/graph/passes/merge_pass.cc"
  262. "${GE_SOURCE_DIR}/src/ge/graph/passes/switch_pass.cc"
  263. "${GE_SOURCE_DIR}/src/ge/graph/passes/switch_logic_remove_pass.cc"
  264. "${GE_SOURCE_DIR}/src/ge/graph/passes/assert_pass.cc"
  265. "${GE_SOURCE_DIR}/src/ge/graph/passes/dropout_pass.cc"
  266. "${GE_SOURCE_DIR}/src/ge/graph/passes/unused_const_pass.cc"
  267. "${GE_SOURCE_DIR}/src/ge/graph/passes/reshape_remove_pass.cc"
  268. "${GE_SOURCE_DIR}/src/ge/graph/passes/resource_pair_add_control_pass.cc"
  269. "${GE_SOURCE_DIR}/src/ge/graph/passes/resource_pair_remove_control_pass.cc"
  270. "${GE_SOURCE_DIR}/src/ge/graph/passes/transop_breadth_fusion_pass.cc"
  271. "${GE_SOURCE_DIR}/src/ge/graph/passes/transop_without_reshape_fusion_pass.cc"
  272. "${GE_SOURCE_DIR}/src/ge/graph/passes/transop_depth_fusion_pass.cc"
  273. "${GE_SOURCE_DIR}/src/ge/graph/passes/transop_nearby_allreduce_fusion_pass.cc"
  274. "${GE_SOURCE_DIR}/src/ge/graph/passes/same_transdata_breadth_fusion_pass.cc"
  275. "${GE_SOURCE_DIR}/src/ge/graph/passes/compile_nodes_pass.cc"
  276. "${GE_SOURCE_DIR}/src/ge/graph/common/transop_util.cc"
  277. "${GE_SOURCE_DIR}/src/ge/graph/passes/flow_ctrl_pass.cc"
  278. "${GE_SOURCE_DIR}/src/ge/graph/optimize/optimizer/allreduce_fusion_pass.cc"
  279. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_pass.cc"
  280. "${GE_SOURCE_DIR}/src/ge/graph/passes/variable_op_pass.cc"
  281. "${GE_SOURCE_DIR}/src/ge/graph/passes/transpose_transdata_pass.cc"
  282. "${GE_SOURCE_DIR}/src/ge/graph/passes/hccl_memcpy_pass.cc"
  283. "${GE_SOURCE_DIR}/src/ge/graph/passes/no_reshape_op_remove_pass.cc"
  284. "${GE_SOURCE_DIR}/src/ge/graph/passes/no_use_reshape_remove_pass.cc"
  285. "${GE_SOURCE_DIR}/src/ge/graph/passes/control_op_attr_pass.cc"
  286. "${GE_SOURCE_DIR}/src/ge/graph/passes/infershape_pass.cc"
  287. "${GE_SOURCE_DIR}/src/ge/ge_local_engine/engine/host_cpu_engine.cc"
  288. )
  289. file(GLOB_RECURSE KERNEL_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  290. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/broadcast_gradient_args_kernel.cc"
  291. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/broadcast_args_kernel.cc"
  292. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/greater_kernel.cc"
  293. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/gather_v2_kernel.cc"
  294. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/maximum_kernel.cc"
  295. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/floormod_kernel.cc"
  296. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/floordiv_kernel.cc"
  297. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/range_kernel.cc"
  298. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/mul_kernel.cc"
  299. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/shape_kernel.cc"
  300. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/shape_n_kernel.cc"
  301. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/size_kernel.cc"
  302. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/rank_kernel.cc"
  303. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/fill_kernel.cc"
  304. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/empty_kernel.cc"
  305. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/cast_kernel.cc"
  306. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/transdata_kernel.cc"
  307. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/permute_kernel.cc"
  308. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/squeeze_kernel.cc"
  309. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/reshape_kernel.cc"
  310. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/reformat_kernel.cc"
  311. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/kernel_utils.cc"
  312. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/expanddims_kernel.cc"
  313. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/ssd_prior_box_kernel.cc"
  314. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/pack_kernel.cc"
  315. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/strided_slice_kernel.cc"
  316. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/concat_v2_kernel.cc"
  317. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/add_kernel.cc"
  318. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/sub_kernel.cc"
  319. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/reduce_prod_kernel.cc"
  320. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/rsqrt_kernel.cc"
  321. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/concat_offset_kernel.cc"
  322. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/slice_kernel.cc"
  323. "${GE_SOURCE_DIR}/src/ge/graph/passes/folding_kernel/dynamic_stitch_kernel.cc"
  324. )
  325. file(GLOB_RECURSE SINGLE_OP_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  326. "${GE_SOURCE_DIR}/src/ge/single_op/task/build_task_utils.cc"
  327. "${GE_SOURCE_DIR}/src/ge/single_op/task/op_task.cc"
  328. "${GE_SOURCE_DIR}/src/ge/single_op/task/tbe_task_builder.cc"
  329. "${GE_SOURCE_DIR}/src/ge/single_op/single_op.cc"
  330. "${GE_SOURCE_DIR}/src/ge/single_op/single_op_model.cc"
  331. "${GE_SOURCE_DIR}/src/ge/single_op/stream_resource.cc"
  332. "${GE_SOURCE_DIR}/src/ge/single_op/single_op_manager.cc"
  333. )
  334. # test files
  335. file(GLOB_RECURSE COMMON_TEST_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  336. "graph/passes/graph_builder_utils.cc"
  337. "test.cc"
  338. )
  339. file(GLOB_RECURSE DISTINCT_GRAPH_LOAD_TEST_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  340. "graph/load/data_dumper_unittest.cc"
  341. "graph/load/new_model_manager_data_inputer_unittest.cc"
  342. "graph/load/new_model_manager_davinci_model_unittest.cc"
  343. "graph/load/new_model_manager_model_manager_unittest.cc"
  344. "graph/load/new_model_manager_task_build_unittest.cc"
  345. "graph/load/end_graph_task_unittest.cc"
  346. "graph/load/new_model_manager_event_manager_unittest.cc"
  347. "graph/load/output_net_output_unittest.cc"
  348. "graph/load/tbe_handle_store_unittest.cc"
  349. "graph/graph_load_unittest.cc"
  350. "graph/ge_executor_unittest.cc"
  351. )
  352. file(GLOB_RECURSE PASS_TEST_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  353. "graph/passes/prune_pass_unittest.cc"
  354. "graph/passes/enter_pass_unittest.cc"
  355. "graph/passes/switch_op_pass_unittest.cc"
  356. "graph/passes/get_original_format_pass_unittest.cc"
  357. "graph/passes/pass_manager_unittest.cc"
  358. "graph/passes/permute_pass_unittest.cc"
  359. "graph/passes/print_op_pass_unittest.cc"
  360. "graph/passes/shape_operate_op_remove_pass_unittest.cc"
  361. "graph/passes/unused_and_isolated_op_remove_pass_unittest.cc"
  362. "graph/passes/variable_op_pass_unittest.cc"
  363. "graph/passes/base_pass_unittest.cc"
  364. "graph/passes/addn_pass_unittest.cc"
  365. "graph/passes/save_pass_unittest.cc"
  366. "graph/passes/merge_pass_unittest.cc"
  367. "graph/passes/switch_pass_unittest.cc"
  368. "graph/passes/switch_logic_remove_pass_unittest.cc"
  369. "graph/passes/assert_pass_unittest.cc"
  370. "graph/passes/dropout_pass_unittest.cc"
  371. "graph/passes/unused_const_pass_unittest.cc"
  372. "graph/passes/reshape_remove_pass_unittest.cc"
  373. "graph/passes/resource_pair_control_pass_unittest.cc"
  374. "graph/passes/trans_op_breadth_fusion_pass_unittest.cc"
  375. "graph/passes/trans_op_depth_fusion_pass_unittest.cc"
  376. "graph/passes/transop_nearby_allreduce_fusion_pass_unittest.cc"
  377. "graph/passes/constant_folding_pass_unittest.cc"
  378. "graph/passes/stop_gradient_pass_unittest.cc"
  379. "graph/passes/prevent_gradient_pass_unittest.cc"
  380. "graph/passes/identity_pass_unittest.cc"
  381. "graph/passes/placeholder_with_default_pass_unittest.cc"
  382. "graph/passes/snapshot_pass_unittest.cc"
  383. "graph/passes/guarantee_const_pass_unittest.cc"
  384. "graph/passes/flow_ctrl_pass_unittest.cc"
  385. "graph/passes/dimension_compute_pass_unittest.cc"
  386. "graph/passes/variable_prepare_pass_unittest.cc"
  387. "graph/passes/variable_ref_delete_pass_unittest.cc"
  388. "graph/passes/dimension_adjust_pass_unittest.cc"
  389. "graph/passes/pass_utils_unittest.cc"
  390. "graph/passes/net_output_pass_unittest.cc"
  391. "graph/passes/no_use_reshape_remove_pass_unittest.cc"
  392. "graph/passes/infershape_pass_unittest.cc"
  393. )
  394. file(GLOB_RECURSE KERNEL_TEST_FILES ${CMAKE_CURRENT_SOURCE_DIR}
  395. "graph/passes/folding_kernel/greater_kernel_unittest.cc"
  396. "graph/passes/folding_kernel/maximum_kernel_unittest.cc"
  397. "graph/passes/folding_kernel/floormod_kernel_unittest.cc"
  398. "graph/passes/folding_kernel/floordiv_kernel_unittest.cc"
  399. "graph/passes/folding_kernel/range_kernel_unittest.cc"
  400. "graph/passes/folding_kernel/mul_kernel_unittest.cc"
  401. "graph/passes/folding_kernel/shape_kernel_unittest.cc"
  402. "graph/passes/folding_kernel/shape_n_kernel_unittest.cc"
  403. "graph/passes/folding_kernel/size_kernel_unittest.cc"
  404. "graph/passes/folding_kernel/broadcast_args_kernel_unittest.cc"
  405. "graph/passes/folding_kernel/broadcast_gradient_args_kernel_unittest.cc"
  406. "graph/passes/folding_kernel/fill_kernel_unittest.cc"
  407. "graph/passes/folding_kernel/empty_kernel_unittest.cc"
  408. "graph/passes/folding_kernel/rank_kernel_unittest.cc"
  409. "graph/passes/folding_kernel/expanddims_kernel_unittest.cc"
  410. "graph/passes/folding_kernel/reshape_kernel_unittest.cc"
  411. "graph/passes/folding_kernel/reformat_kernel_unittest.cc"
  412. "graph/passes/folding_kernel/squeeze_kernel_unittest.cc"
  413. "graph/passes/folding_kernel/transdata_kernel_unittest.cc"
  414. "graph/passes/folding_kernel/permute_kernel_unittest.cc"
  415. "graph/passes/folding_kernel/cast_kernel_unittest.cc"
  416. "graph/passes/folding_kernel/ssd_prior_box_kernel_unittest.cc"
  417. "graph/passes/folding_kernel/strided_slice_kernel_unittest.cc"
  418. "graph/passes/folding_kernel/pack_kernel_unittest.cc"
  419. "graph/passes/folding_kernel/concat_v2_kernel_unittest.cc"
  420. "graph/passes/folding_kernel/add_kernel_unittest.cc"
  421. "graph/passes/folding_kernel/sub_kernel_unittest.cc"
  422. "graph/passes/folding_kernel/reduce_prod_kernel_unittest.cc"
  423. "graph/passes/folding_kernel/rsqrt_kernel_unittest.cc"
  424. "graph/passes/folding_kernel/concat_offset_kernel_unittest.cc"
  425. "graph/passes/folding_kernel/gather_v2_kernel_unittest.cc"
  426. "graph/passes/folding_kernel/slice_kernel_unittest.cc"
  427. "graph/passes/folding_kernel/dynamic_stitch_kernel_unittest.cc"
  428. )
  429. file(GLOB_RECURSE MULTI_PARTS_TEST_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
  430. "graph_ir/ge_operator_factory_unittest.cc"
  431. "graph/transop_util_unittest.cc"
  432. "common/datatype_transfer_unittest.cc"
  433. "common/format_transfer_unittest.cc"
  434. "common/format_transfer_transpose_unittest.cc"
  435. "common/format_transfer_nchw_5d_unittest.cc"
  436. "common/format_transfer_nchw_fractalz_unittest.cc"
  437. "common/format_transfer_hwcn_fractalz_unittest.cc"
  438. "common/format_transfer_nhwc_fractalz_unittest.cc"
  439. "common/format_transfer_fractal_nz_unittest.cc"
  440. "common/format_transfer_fractal_zz_unittest.cc"
  441. "common/format_transfer_nhwc_5d_unittest.cc"
  442. "common/format_transfer_5d_nchw_unittest.cc"
  443. "common/format_transfer_5d_nhwc_unittest.cc"
  444. "common/format_transfer_hwcn_c1hwncoc0_unittest.cc"
  445. "common/format_transfer_c1hwncoc0_hwcn_unittest.cc"
  446. "common/format_transfer_fracz_nchw_unittest.cc"
  447. "common/format_transfer_fracz_nhwc_unittest.cc"
  448. "common/format_transfer_fracz_hwcn_unittest.cc"
  449. "common/ge_format_util_unittest.cc"
  450. "graph/variable_accelerate_ctrl_unittest.cc"
  451. "graph/build/logical_stream_allocator_unittest.cc"
  452. "graph/build/mem_assigner_unittest.cc"
  453. )
  454. file(GLOB_RECURSE SINGLE_OP_TEST_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
  455. "single_op/single_op_model_unittest.cc"
  456. "single_op/single_op_manager_unittest.cc"
  457. "single_op/stream_resource_unittest.cc"
  458. )
  459. file(GLOB_RECURSE PROFILING_MNG_TEST_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
  460. "profiling/ge_profiling_manager_unittest.cc"
  461. )
  462. file(GLOB_RECURSE OTHERS_TEST_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
  463. "plugin_manager/ge_util_unittest.cc"
  464. )
  465. list(APPEND COMMON_SHARED_LIBRARIES
  466. omg_stub
  467. graphengine::securec
  468. slog_stub
  469. cce_ge_stub
  470. runtime_stub
  471. profiler_stub
  472. mmpa_stub
  473. hccl_stub
  474. )
  475. # build common
  476. add_library(ge_ut_common STATIC ${COMMON_SRC_FILES} ${PROTO_SRCS} ${PROTO_HDRS})
  477. # build common format
  478. add_library(ge_ut_common_format STATIC ${COMMON_SRC_FILES} ${COMMON_FORMAT_SRC_FILES} ${PROTO_SRCS} ${PROTO_HDRS})
  479. # build graph prepare common
  480. add_library(ge_prepare_common STATIC ${GRAPH_PREPARE_COMMON_SRC_FILES} ${PROTO_SRCS} ${PROTO_HDRS})
  481. # build graph optimize common
  482. add_library(ge_optimize_common STATIC ${GRAPH_OPTIMIZE_COMMON_SRC_FILES} ${PROTO_SRCS} ${PROTO_HDRS})
  483. # build graph partition common
  484. add_library(ge_partition_common STATIC ${GRAPH_PARTITION_COMMON_SRC_FILES} ${PROTO_SRCS} ${PROTO_HDRS})
  485. # build build graph load common
  486. add_library(ge_load_common STATIC ${GRAPH_LOAD_COMMON_SRC_FILES} ${PROTO_SRCS} ${PROTO_HDRS})
  487. # build graph execute common
  488. add_library(ge_execute_common STATIC ${GRAPH_EXECUTE_COMMON_SRC_FILES} ${PROTO_SRCS} ${PROTO_HDRS})
  489. # build graph build common
  490. add_library(ge_build_common STATIC ${GRAPH_BUILD_COMMON_SRC_FILES} ${PROTO_SRCS} ${PROTO_HDRS})
  491. # build graph pass common
  492. add_library(ge_pass_common STATIC ${GRAPH_PASS_COMMON_SRC_FILES} ${PROTO_SRCS} ${PROTO_HDRS})
  493. # build single_op common
  494. add_library(ge_single_op STATIC ${SINGLE_OP_SRC_FILES} ${PROTO_SRCS} ${PROTO_HDRS})
  495. # ut binary
  496. # libge_mutiparts_utest
  497. add_executable(ut_libge_multiparts_utest
  498. ${COMMON_TEST_FILES}
  499. ${COMMON_FORMAT_SRC_FILES}
  500. ${MULTI_PARTS_TEST_FILES}
  501. )
  502. target_link_libraries(ut_libge_multiparts_utest
  503. ge_build_common ge_load_common ge_build_common ge_execute_common ge_optimize_common ge_partition_common ge_pass_common
  504. ge_prepare_common ge_single_op ge_ut_common
  505. graphengine::gtest graphengine::gtest_main protobuf::protobuf rt dl
  506. )
  507. target_link_libraries(ut_libge_multiparts_utest ${COMMON_SHARED_LIBRARIES} protobuf::protobuf)
  508. # libge_others_utest
  509. add_executable(ut_libge_others_utest
  510. ${COMMON_TEST_FILES}
  511. ${COMMON_FORMAT_SRC_FILES}
  512. ${PASS_TEST_FILES}
  513. ${EXECUTE_TEST_FILES}
  514. ${OTHERS_TEST_FILES}
  515. )
  516. target_link_libraries(ut_libge_others_utest
  517. ge_execute_common ge_load_common ge_pass_common ge_ut_common
  518. graphengine::gtest graphengine::gtest_main protobuf::protobuf rt dl
  519. )
  520. target_link_libraries(ut_libge_others_utest ${COMMON_SHARED_LIBRARIES} protobuf::protobuf)
  521. # libge_kernel_utest
  522. add_executable(ut_libge_kernel_utest
  523. ${COMMON_TEST_FILES}
  524. ${COMMON_FORMAT_SRC_FILES}
  525. ${KERNEL_TEST_FILES}
  526. ${KERNEL_SRC_FILES}
  527. )
  528. target_link_libraries(ut_libge_kernel_utest
  529. ge_pass_common ge_ut_common ge_load_common
  530. graphengine::gtest graphengine::gtest_main protobuf::protobuf rt dl
  531. )
  532. target_link_libraries(ut_libge_kernel_utest ${COMMON_SHARED_LIBRARIES} protobuf::protobuf)
  533. # libge_distinct_load_utest
  534. add_executable(ut_libge_distinct_load_utest
  535. ${COMMON_TEST_FILES}
  536. ${DISTINCT_GRAPH_LOAD_TEST_FILES}
  537. ${DISTINCT_GRAPH_LOAD_SRC_FILES}
  538. ${SINGLE_OP_TEST_FILES}
  539. ${PROFILING_MNG_TEST_FILES}
  540. )
  541. target_link_libraries(ut_libge_distinct_load_utest ${COMMON_SHARED_LIBRARIES}
  542. ge_execute_common ge_ut_common ge_ut_common_format ge_pass_common ge_load_common
  543. ge_single_op ge_prepare_common
  544. ge_optimize_common ge_build_common ge_partition_common
  545. graphengine::gtest graphengine::gtest_main protobuf::protobuf rt dl pthread
  546. )

图引擎模块(GE)是MindSpore的一个子模块,其代码由C++实现,位于前端模块ME和底层硬件之间,起到承接作用。图引擎模块以ME下发的图作为输入,然后进行一系列的深度图优化操作,最后输出一张可以在底层硬件上高效运行的图。GE针对昇腾AI处理器的硬件结构特点,做了特定的优化工作,以此来充分发挥出昇腾AI处理器的强大算力。在进行模型训练/推理时,GE会被自动调用而用户并不感知。GE主要由GE API和GE Core两部分组成,详细的架构图如下所示