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 42 kB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
4 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
4 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
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
4 years ago
5 years ago
4 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
5 years ago
5 years ago
4 years ago
5 years ago
5 years ago
5 years ago
4 years ago
5 years ago
5 years ago
5 years ago
4 years ago
5 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
4 years ago
4 years ago
5 years ago
4 years ago
5 years ago
5 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
5 years ago
5 years ago
4 years ago
5 years ago
4 years ago
4 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
5 years ago
5 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094
  1. if (NOT ENABLE_D AND NOT ENABLE_ACL AND NOT ENABLE_MS_TESTCASES)
  2. add_subdirectory(common)
  3. add_subdirectory(plugin/engine)
  4. add_subdirectory(ge_local_engine)
  5. add_subdirectory(executor)
  6. add_subdirectory(offline)
  7. elseif (ENABLE_D)
  8. add_subdirectory(common)
  9. add_subdirectory(ge_runtime)
  10. endif ()
  11. set(GRAPHENGINE_PROTO_LIST
  12. "${METADEF_DIR}/proto/om.proto"
  13. "${METADEF_DIR}/proto/task.proto"
  14. "${METADEF_DIR}/proto/insert_op.proto"
  15. "${METADEF_DIR}/proto/ge_ir.proto"
  16. "${METADEF_DIR}/proto/ge_api.proto"
  17. "${METADEF_DIR}/proto/fusion_model.proto"
  18. "${METADEF_DIR}/proto/optimizer_priority.proto"
  19. "${METADEF_DIR}/proto/fwk_adapter.proto"
  20. "${METADEF_DIR}/proto/op_mapping.proto"
  21. "${METADEF_DIR}/proto/dump_task.proto"
  22. "${METADEF_DIR}/proto/tensorflow/graph_library.proto"
  23. "${METADEF_DIR}/proto/tensorflow/graph.proto"
  24. "${METADEF_DIR}/proto/tensorflow/node_def.proto"
  25. "${METADEF_DIR}/proto/tensorflow/function.proto"
  26. "${METADEF_DIR}/proto/tensorflow/versions.proto"
  27. "${METADEF_DIR}/proto/tensorflow/attr_value.proto"
  28. "${METADEF_DIR}/proto/tensorflow/op_def.proto"
  29. "${METADEF_DIR}/proto/tensorflow/tensor.proto"
  30. "${METADEF_DIR}/proto/tensorflow/tensor_shape.proto"
  31. "${METADEF_DIR}/proto/tensorflow/types.proto"
  32. "${METADEF_DIR}/proto/tensorflow/resource_handle.proto"
  33. )
  34. protobuf_generate(graphengine_protos GRAPHENGINE_PROTO_SRCS GRAPHENGINE_PROTO_HDRS ${GRAPHENGINE_PROTO_LIST} TARGET)
  35. set(GE_FUSION_MODEL_PROTO_SRCS
  36. "${CMAKE_BINARY_DIR}/proto/graphengine_protos/proto/fusion_model.pb.cc"
  37. "${CMAKE_BINARY_DIR}/proto/graphengine_protos/proto/optimizer_priority.pb.cc"
  38. )
  39. add_library(ge_fusion_model_protos_obj OBJECT ${GE_FUSION_MODEL_PROTO_SRCS})
  40. add_dependencies(ge_fusion_model_protos_obj graphengine_protos)
  41. target_include_directories(ge_fusion_model_protos_obj PRIVATE
  42. #### blue zone ####
  43. ${PROTOBUF_SHARED_PKG_DIR}/include
  44. #### yellow zone ####
  45. ${ASCEND_PROTOBUF_SHARED_PKG_DIR}/include
  46. )
  47. target_compile_definitions(ge_fusion_model_protos_obj PRIVATE
  48. google=ascend_private
  49. )
  50. target_link_libraries(ge_fusion_model_protos_obj PRIVATE ascend_protobuf $<BUILD_INTERFACE:intf_pub>)
  51. target_compile_options(ge_fusion_model_protos_obj PRIVATE
  52. $<$<STREQUAL:${TARGET_SYSTEM_NAME},Linux>:-O2 -fPIC>
  53. $<$<OR:$<STREQUAL:${PRODUCT_SIDE},host>,$<STREQUAL:${ENABLE_OPEN_SRC},True>>:-fexceptions>
  54. $<$<OR:$<STREQUAL:${TARGET_SYSTEM_NAME},Linux>,$<STREQUAL:${TARGET_SYSTEM_NAME},Android>>: -Wno-deprecated-declarations -fno-common>
  55. $<$<AND:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>,$<STREQUAL:${CMAKE_CONFIGURATION_TYPES},Debug>>:/MTd>
  56. $<$<AND:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>,$<STREQUAL:${CMAKE_CONFIGURATION_TYPES},Release>>:/MT>
  57. )
  58. if (NOT ENABLE_D AND NOT ENABLE_ACL AND NOT ENABLE_MS_TESTCASES)
  59. ############ libge_proto_common.a ############
  60. add_library(ge_proto_common STATIC
  61. $<TARGET_OBJECTS:ge_fusion_model_protos_obj>
  62. )
  63. target_compile_definitions(ge_proto_common PRIVATE
  64. PROTOBUF_INLINE_NOT_IN_HEADERS=0
  65. google=ascend_private
  66. )
  67. target_compile_options(ge_proto_common PRIVATE
  68. -O2
  69. -fno-common
  70. )
  71. target_link_libraries(ge_proto_common PRIVATE
  72. $<BUILD_INTERFACE:intf_pub>
  73. ascend_protobuf
  74. )
  75. ############ libge_proto_client.a ############
  76. add_library(ge_proto_client STATIC
  77. $<TARGET_OBJECTS:ge_fusion_model_protos_obj>
  78. )
  79. target_compile_definitions(ge_proto_client PRIVATE
  80. PROTOBUF_INLINE_NOT_IN_HEADERS=0
  81. google=ascend_private
  82. )
  83. target_include_directories(ge_proto_client PRIVATE
  84. ${CMAKE_BINARY_DIR}/proto/graphengine_protos
  85. ${CMAKE_BINARY_DIR}/proto/graphengine_protos/proto
  86. )
  87. target_compile_options(ge_proto_client PRIVATE
  88. -O2
  89. -fno-common
  90. )
  91. target_link_libraries(ge_proto_client PRIVATE
  92. $<BUILD_INTERFACE:intf_pub>
  93. ascend_protobuf
  94. )
  95. endif ()
  96. ##################################################################
  97. set(TRAIN_SRC_LIST
  98. "common/formats/format_transfers/datatype_transfer.cc"
  99. "common/formats/format_transfers/format_transfer_c1hwncoc0_hwcn.cc"
  100. "common/formats/format_transfers/format_transfer_dhwcn_fracz3D.cc"
  101. "common/formats/format_transfers/format_transfer_dhwnc_fracz3D_transpose.cc"
  102. "common/formats/format_transfers/format_transfer_fractal_nz.cc"
  103. "common/formats/format_transfers/format_transfer_fractal_z.cc"
  104. "common/formats/format_transfers/format_transfer_fractal_zz.cc"
  105. "common/formats/format_transfers/format_transfer_fracz_hwcn.cc"
  106. "common/formats/format_transfers/format_transfer_fracz_nchw.cc"
  107. "common/formats/format_transfers/format_transfer_fracz_nhwc.cc"
  108. "common/formats/format_transfers/format_transfer_hwcn_c1hwncoc0.cc"
  109. "common/formats/format_transfers/format_transfer_nc1hwc0_nchw.cc"
  110. "common/formats/format_transfers/format_transfer_nc1hwc0_nhwc.cc"
  111. "common/formats/format_transfers/format_transfer_nchw_nc1hwc0.cc"
  112. "common/formats/format_transfers/format_transfer_nhwc_nc1hwc0.cc"
  113. "common/formats/format_transfers/format_transfer_transpose.cc"
  114. "common/formats/formats.cc"
  115. "common/formats/utils/formats_trans_utils.cc"
  116. "common/fp16_t.cc"
  117. "common/ge/plugin_manager.cc"
  118. "common/ge/op_tiling_manager.cc"
  119. "common/helper/model_cache_helper.cc"
  120. "common/profiling/profiling_manager.cc"
  121. "common/dump/dump_manager.cc"
  122. "common/dump/exception_dumper.cc"
  123. "common/dump/dump_properties.cc"
  124. "common/dump/opdebug_register.cc"
  125. "common/dump/dump_op.cc"
  126. "common/profiling/ge_profiling.cc"
  127. "common/profiling/ge_runner_profiling.cc"
  128. "engine_manager/dnnengine_manager.cc"
  129. "ge_local_engine/engine/host_cpu_engine.cc"
  130. "generator/ge_generator.cc"
  131. "generator/generator_api.cc"
  132. "graph/build/graph_builder.cc"
  133. "graph/build/label_allocator.cc"
  134. "graph/build/logical_stream_allocator.cc"
  135. "graph/build/model_builder.cc"
  136. "graph/build/run_context.cc"
  137. "graph/build/stream_allocator.cc"
  138. "graph/build/stream_graph_optimizer.cc"
  139. "graph/build/task_generator.cc"
  140. "graph/common/bcast.cc"
  141. "graph/common/local_context.cc"
  142. "graph/common/omg_util.cc"
  143. "graph/common/transop_util.cc"
  144. "graph/execute/graph_execute.cc"
  145. "graph/label/case_label_maker.cc"
  146. "graph/label/if_label_maker.cc"
  147. "graph/label/label_maker.cc"
  148. "graph/label/partitioned_call_label_maker.cc"
  149. "graph/label/while_label_maker.cc"
  150. "graph/load/graph_loader.cc"
  151. "graph/load/model_manager/cpu_queue_schedule.cc"
  152. "graph/load/model_manager/data_dumper.cc"
  153. "graph/load/model_manager/data_inputer.cc"
  154. "graph/load/model_manager/davinci_model.cc"
  155. "graph/load/model_manager/model_manager.cc"
  156. "graph/load/model_manager/model_utils.cc"
  157. "graph/load/model_manager/aipp_utils.cc"
  158. "graph/load/model_manager/task_info/end_graph_task_info.cc"
  159. "graph/load/model_manager/task_info/model_exit_task_info.cc"
  160. "graph/load/model_manager/task_info/event_record_task_info.cc"
  161. "graph/load/model_manager/task_info/event_wait_task_info.cc"
  162. "graph/load/model_manager/task_info/ffts_task_info.cc"
  163. "graph/load/model_manager/task_info/fusion_start_task_info.cc"
  164. "graph/load/model_manager/task_info/fusion_stop_task_info.cc"
  165. "graph/load/model_manager/task_info/hccl_task_info.cc"
  166. "graph/load/model_manager/task_info/kernel_ex_task_info.cc"
  167. "graph/load/model_manager/task_info/kernel_task_info.cc"
  168. "graph/load/model_manager/task_info/label_set_task_info.cc"
  169. "graph/load/model_manager/task_info/label_switch_by_index_task_info.cc"
  170. "graph/load/model_manager/task_info/label_goto_ex_task_info.cc"
  171. "graph/load/model_manager/task_info/memcpy_addr_async_task_info.cc"
  172. "graph/load/model_manager/task_info/memcpy_async_task_info.cc"
  173. "graph/load/model_manager/task_info/profiler_trace_task_info.cc"
  174. "graph/load/model_manager/task_info/stream_active_task_info.cc"
  175. "graph/load/model_manager/task_info/stream_switch_task_info.cc"
  176. "graph/load/model_manager/task_info/stream_switchn_task_info.cc"
  177. "graph/load/model_manager/task_info/super_kernel/super_kernel.cc"
  178. "graph/load/model_manager/task_info/super_kernel/super_kernel_factory.cc"
  179. "graph/load/model_manager/task_info/task_info.cc"
  180. "graph/load/model_manager/tbe_handle_store.cc"
  181. "graph/load/model_manager/zero_copy_task.cc"
  182. "graph/load/model_manager/zero_copy_offset.cc"
  183. "graph/manager/graph_context.cc"
  184. "graph/manager/graph_manager.cc"
  185. "graph/manager/graph_manager_utils.cc"
  186. "graph/manager/graph_mem_allocator.cc"
  187. "graph/manager/graph_caching_allocator.cc"
  188. "graph/manager/session_scope_mem_allocator.cc"
  189. "graph/manager/graph_var_manager.cc"
  190. "graph/manager/host_mem_manager.cc"
  191. "graph/manager/rdma_pool_allocator.cc"
  192. "graph/manager/host_mem_allocator.cc"
  193. "graph/manager/graph_mem_manager.cc"
  194. "graph/manager/memory_api.cc"
  195. "graph/manager/model_manager/event_manager.cc"
  196. "graph/manager/trans_var_data_utils.cc"
  197. "graph/manager/util/debug.cc"
  198. "graph/manager/util/hcom_util.cc"
  199. "graph/manager/util/rt_context_util.cc"
  200. "graph/manager/util/variable_accelerate_ctrl.cc"
  201. "graph/optimize/graph_optimize.cc"
  202. "graph/optimize/mem_rw_conflict_optimize.cc"
  203. "graph/optimize/summary_optimize.cc"
  204. "graph/partition/engine_place.cc"
  205. "graph/partition/graph_partition.cc"
  206. "graph/passes/addn_pass.cc"
  207. "graph/passes/aicpu_constant_folding_pass.cc"
  208. "graph/passes/assert_pass.cc"
  209. "graph/passes/input_output_connection_identify_pass.cc"
  210. "graph/passes/atomic_addr_clean_pass.cc"
  211. "graph/passes/mark_same_addr_pass.cc"
  212. "graph/passes/mark_graph_unknown_status_pass.cc"
  213. "graph/passes/mark_node_unknown_shape_pass.cc"
  214. "graph/passes/mark_agnostic_pass.cc"
  215. "graph/partition/dynamic_shape_partition.cc"
  216. "graph/partition/stage_partition.cc"
  217. "graph/passes/base_pass.cc"
  218. "graph/passes/bitcast_pass.cc"
  219. "graph/passes/cast_remove_pass.cc"
  220. "graph/passes/cast_translate_pass.cc"
  221. "graph/passes/common_subexpression_elimination_pass.cc"
  222. "graph/passes/transop_symmetry_elimination_pass.cc"
  223. "graph/passes/compile_nodes_pass.cc"
  224. "graph/passes/constant_folding_pass.cc"
  225. "graph/passes/constant_fuse_same_pass.cc"
  226. "graph/passes/fuse_data_nodes_with_common_input_pass.cc"
  227. "graph/passes/remove_same_const_pass.cc"
  228. "graph/passes/useless_control_out_remove_pass.cc"
  229. "graph/passes/control_trigger_pass.cc"
  230. "graph/passes/dimension_adjust_pass.cc"
  231. "graph/passes/dimension_compute_pass.cc"
  232. "graph/passes/dropout_pass.cc"
  233. "graph/passes/hccl_group_pass.cc"
  234. "graph/passes/hccl_tailing_optimization_pass.cc"
  235. "graph/passes/enter_pass.cc"
  236. "graph/passes/assign_remove_pass.cc"
  237. "graph/passes/inplace_support_check_pass.cc"
  238. "graph/passes/flow_ctrl_pass.cc"
  239. "graph/passes/global_step_insert_pass.cc"
  240. "host_kernels/transpose_kernel.cc"
  241. "host_kernels/add_kernel.cc"
  242. "host_kernels/broadcast_args_kernel.cc"
  243. "host_kernels/broadcast_gradient_args_kernel.cc"
  244. "host_kernels/cast_kernel.cc"
  245. "host_kernels/concat_offset_kernel.cc"
  246. "host_kernels/concat_v2_kernel.cc"
  247. "host_kernels/dynamic_stitch_kernel.cc"
  248. "host_kernels/identity_kernel.cc"
  249. "host_kernels/empty_kernel.cc"
  250. "host_kernels/expanddims_kernel.cc"
  251. "host_kernels/fill_kernel.cc"
  252. "host_kernels/floordiv_kernel.cc"
  253. "host_kernels/floormod_kernel.cc"
  254. "host_kernels/gather_v2_kernel.cc"
  255. "host_kernels/greater_kernel.cc"
  256. "host_kernels/kernel_utils.cc"
  257. "host_kernels/maximum_kernel.cc"
  258. "host_kernels/mul_kernel.cc"
  259. "host_kernels/pack_kernel.cc"
  260. "host_kernels/permute_kernel.cc"
  261. "host_kernels/range_kernel.cc"
  262. "host_kernels/rank_kernel.cc"
  263. "host_kernels/reduce_prod_kernel.cc"
  264. "host_kernels/reshape_kernel.cc"
  265. "host_kernels/rsqrt_kernel.cc"
  266. "host_kernels/shape_kernel.cc"
  267. "host_kernels/shape_n_kernel.cc"
  268. "host_kernels/size_kernel.cc"
  269. "host_kernels/slice_d_kernel.cc"
  270. "host_kernels/slice_kernel.cc"
  271. "host_kernels/squeeze_kernel.cc"
  272. "host_kernels/unsqueeze_kernel.cc"
  273. "host_kernels/ssd_prior_box_kernel.cc"
  274. "host_kernels/strided_slice_kernel.cc"
  275. "host_kernels/sub_kernel.cc"
  276. "host_kernels/transdata_kernel.cc"
  277. "host_kernels/unpack_kernel.cc"
  278. "host_kernels/reformat_kernel.cc"
  279. "graph/passes/folding_pass.cc"
  280. "graph/passes/get_original_format_pass.cc"
  281. "graph/passes/guarantee_const_pass.cc"
  282. "graph/passes/hccl_memcpy_pass.cc"
  283. "graph/passes/hccl_continuous_memcpy_pass.cc"
  284. "graph/passes/identity_pass.cc"
  285. "graph/passes/ref_identity_delete_op_pass.cc"
  286. "graph/passes/infer_base_pass.cc"
  287. "graph/passes/infershape_pass.cc"
  288. "graph/passes/infer_value_range_pass.cc"
  289. "graph/passes/iterator_op_pass.cc"
  290. "graph/passes/link_gen_mask_nodes_pass.cc"
  291. "graph/passes/merge_pass.cc"
  292. "graph/passes/multi_batch_pass.cc"
  293. "graph/passes/multi_batch_clone_pass.cc"
  294. "graph/passes/subexpression_migration_pass.cc"
  295. "graph/passes/subgraph_const_migration_pass.cc"
  296. "graph/passes/unused_args_clean_pass.cc"
  297. "graph/passes/net_output_pass.cc"
  298. "graph/passes/next_iteration_pass.cc"
  299. "graph/passes/no_use_reshape_remove_pass.cc"
  300. "graph/passes/pass_manager.cc"
  301. "graph/passes/pass_utils.cc"
  302. "graph/passes/permute_pass.cc"
  303. "graph/passes/placeholder_with_default_pass.cc"
  304. "graph/passes/prevent_gradient_pass.cc"
  305. "graph/passes/print_op_pass.cc"
  306. "graph/passes/prune_pass.cc"
  307. "graph/passes/ctrl_edge_transfer_pass.cc"
  308. "graph/passes/replace_with_empty_const_pass.cc"
  309. "graph/passes/reshape_remove_pass.cc"
  310. "graph/passes/reshape_recovery_pass.cc"
  311. "graph/passes/resource_pair_add_control_pass.cc"
  312. "graph/passes/resource_pair_remove_control_pass.cc"
  313. "graph/passes/same_transdata_breadth_fusion_pass.cc"
  314. "graph/passes/save_pass.cc"
  315. "graph/passes/shape_operate_op_remove_pass.cc"
  316. "graph/passes/snapshot_pass.cc"
  317. "graph/passes/stop_gradient_pass.cc"
  318. "graph/passes/subgraph_pass.cc"
  319. "graph/passes/data_pass.cc"
  320. "graph/passes/switch_data_edges_bypass.cc"
  321. "graph/passes/switch_logic_remove_pass.cc"
  322. "graph/passes/merge_to_stream_merge_pass.cc"
  323. "graph/passes/merge_input_memcpy_pass.cc"
  324. "graph/passes/switch_to_stream_switch_pass.cc"
  325. "graph/passes/mark_force_unknown_for_cond_pass.cc"
  326. "graph/passes/attach_stream_label_pass.cc"
  327. "graph/passes/switch_dead_branch_elimination.cc"
  328. "graph/passes/replace_transshape_pass.cc"
  329. "graph/passes/transop_breadth_fusion_pass.cc"
  330. "graph/passes/transop_depth_fusion_pass.cc"
  331. "graph/passes/transop_nearby_allreduce_fusion_pass.cc"
  332. "graph/passes/transop_without_reshape_fusion_pass.cc"
  333. "graph/passes/transpose_transdata_pass.cc"
  334. "graph/passes/unused_const_pass.cc"
  335. "graph/passes/var_is_initialized_op_pass.cc"
  336. "graph/passes/parallel_concat_start_op_pass.cc"
  337. "graph/passes/cond_pass.cc"
  338. "graph/passes/cond_remove_pass.cc"
  339. "graph/passes/for_pass.cc"
  340. "graph/passes/variable_op_pass.cc"
  341. "graph/passes/variable_prepare_op_pass.cc"
  342. "graph/passes/variable_ref_delete_op_pass.cc"
  343. "graph/passes/variable_ref_useless_control_out_delete_pass.cc"
  344. "graph/passes/end_of_sequence_add_control_pass.cc"
  345. "graph/passes/memcpy_addr_async_pass.cc"
  346. "graph/passes/parallel_group_pass.cc"
  347. "graph/passes/set_input_output_offset_pass.cc"
  348. "graph/passes/buffer_pool_memory_pass.cc"
  349. "graph/preprocess/graph_preprocess.cc"
  350. "graph/preprocess/insert_op/ge_aipp_op.cc"
  351. "graph/preprocess/insert_op/util_insert_aipp_op.cc"
  352. "graph/preprocess/multi_batch_options.cc"
  353. "graph/preprocess/multi_batch_copy_graph.cc"
  354. "init/gelib.cc"
  355. "model/ge_model.cc"
  356. "model/ge_root_model.cc"
  357. "opskernel_manager/ops_kernel_manager.cc"
  358. "opskernel_manager/ops_kernel_builder_manager.cc"
  359. "session/inner_session.cc"
  360. "session/session_manager.cc"
  361. "graph/execute/model_executor.cc"
  362. "single_op/single_op.cc"
  363. "single_op/single_op_manager.cc"
  364. "single_op/single_op_model.cc"
  365. "single_op/stream_resource.cc"
  366. "single_op/task/build_task_utils.cc"
  367. "single_op/task/op_task.cc"
  368. "single_op/task/tbe_task_builder.cc"
  369. "single_op/task/aicpu_task_builder.cc"
  370. "single_op/task/aicpu_kernel_task_builder.cc"
  371. "single_op/task/rts_kernel_task_builder.cc"
  372. "hybrid/common/tensor_value.cc"
  373. "hybrid/common/npu_memory_allocator.cc"
  374. "hybrid/executor/rt_callback_manager.cc"
  375. "hybrid/executor/node_state.cc"
  376. "hybrid/executor/node_done_manager.cc"
  377. "hybrid/executor/hybrid_profiler.cc"
  378. "hybrid/executor/hybrid_model_executor.cc"
  379. "hybrid/executor/hybrid_model_pipeline_executor.cc"
  380. "hybrid/executor/hybrid_model_async_executor.cc"
  381. "hybrid/executor/hybrid_execution_context.cc"
  382. "hybrid/executor/subgraph_context.cc"
  383. "hybrid/executor/subgraph_executor.cc"
  384. "hybrid/executor/worker/task_compile_engine.cc"
  385. "hybrid/executor/worker/shape_inference_engine.cc"
  386. "hybrid/executor/worker/execution_engine.cc"
  387. "hybrid/model/hybrid_model.cc"
  388. "hybrid/model/hybrid_model_builder.cc"
  389. "hybrid/model/node_item.cc"
  390. "hybrid/model/graph_item.cc"
  391. "hybrid/node_executor/aicore/aicore_node_executor.cc"
  392. "hybrid/node_executor/aicore/aicore_op_task.cc"
  393. "hybrid/node_executor/aicore/aicore_task_builder.cc"
  394. "hybrid/node_executor/aicore/aicore_task_compiler.cc"
  395. "hybrid/node_executor/aicpu/aicpu_ext_info.cc"
  396. "hybrid/node_executor/aicpu/aicpu_node_executor.cc"
  397. "hybrid/node_executor/compiledsubgraph/known_node_executor.cc"
  398. "hybrid/node_executor/ge_local/ge_local_node_executor.cc"
  399. "hybrid/node_executor/host_cpu/host_cpu_node_executor.cc"
  400. "hybrid/node_executor/controlop/control_op_executor.cc"
  401. "hybrid/node_executor/partitioned_call/partitioned_call_node_executor.cc"
  402. "hybrid/node_executor/hccl/hccl_node_executor.cc"
  403. "hybrid/node_executor/rts/rts_node_executor.cc"
  404. "hybrid/node_executor/rts/rts_node_task.cc"
  405. "hybrid/node_executor/rts/rts_task_factory.cc"
  406. "hybrid/node_executor/node_executor.cc"
  407. "hybrid/node_executor/task_context.cc"
  408. "hybrid/hybrid_davinci_model.cc"
  409. "executor/ge_executor.cc"
  410. "client/ge_api.cc"
  411. "analyzer/analyzer.cc"
  412. "ir_build/ge_ir_build.cc"
  413. "ir_build/attr_options/utils.cc"
  414. "ir_build/attr_options/keep_dtype_option.cc"
  415. "ir_build/attr_options/weight_compress_option.cc"
  416. "ir_build/option_utils.cc"
  417. "graph/build/memory/memory_assigner.cc"
  418. "graph/build/memory/graph_mem_assigner.cc"
  419. "graph/build/memory/binary_block_mem_assigner.cc"
  420. "graph/build/memory/block_mem_assigner.cc"
  421. "graph/build/memory/hybrid_mem_assigner.cc"
  422. "graph/build/memory/max_block_mem_assigner.cc"
  423. "graph/build/memory/var_mem_assign_util.cc"
  424. "graph/build/memory/buffer_pool_mem_assigner.cc"
  425. "ge_opt_info/ge_opt_info.cc"
  426. )
  427. set(INFER_SRC_LIST
  428. "graph/manager/trans_var_data_utils.cc"
  429. "common/fp16_t.cc"
  430. "common/formats/utils/formats_trans_utils.cc"
  431. "common/formats/format_transfers/datatype_transfer.cc"
  432. "common/formats/format_transfers/format_transfer_transpose.cc"
  433. "common/formats/format_transfers/format_transfer_nchw_nc1hwc0.cc"
  434. "common/formats/format_transfers/format_transfer_fractal_z.cc"
  435. "common/formats/format_transfers/format_transfer_fractal_nz.cc"
  436. "common/formats/format_transfers/format_transfer_fractal_zz.cc"
  437. "common/formats/format_transfers/format_transfer_nhwc_nc1hwc0.cc"
  438. "common/formats/format_transfers/format_transfer_nc1hwc0_nchw.cc"
  439. "common/formats/format_transfers/format_transfer_nc1hwc0_nhwc.cc"
  440. "common/formats/format_transfers/format_transfer_hwcn_c1hwncoc0.cc"
  441. "common/formats/format_transfers/format_transfer_c1hwncoc0_hwcn.cc"
  442. "common/formats/format_transfers/format_transfer_fracz_nchw.cc"
  443. "common/formats/format_transfers/format_transfer_fracz_nhwc.cc"
  444. "common/formats/format_transfers/format_transfer_fracz_hwcn.cc"
  445. "common/formats/format_transfers/format_transfer_dhwcn_fracz3D.cc"
  446. "common/formats/format_transfers/format_transfer_dhwnc_fracz3D_transpose.cc"
  447. "common/formats/format_transfers/format_transfer_nchw_fz_c04.cc"
  448. "common/formats/formats.cc"
  449. "common/profiling/profiling_manager.cc"
  450. "common/dump/dump_properties.cc"
  451. "common/dump/exception_dumper.cc"
  452. "common/dump/dump_manager.cc"
  453. "common/dump/dump_op.cc"
  454. "common/dump/opdebug_register.cc"
  455. "common/dump/dump_server.cc"
  456. "common/helper/model_cache_helper.cc"
  457. "ge_local_engine/engine/host_cpu_engine.cc"
  458. "common/ge/plugin_manager.cc"
  459. "common/ge/op_tiling_manager.cc"
  460. "init/gelib.cc"
  461. "session/inner_session.cc"
  462. "session/session_manager.cc"
  463. "graph/execute/model_executor.cc"
  464. "engine_manager/dnnengine_manager.cc"
  465. "opskernel_manager/ops_kernel_manager.cc"
  466. "opskernel_manager/ops_kernel_builder_manager.cc"
  467. "graph/manager/graph_manager.cc"
  468. "graph/manager/graph_manager_utils.cc"
  469. "graph/manager/graph_context.cc"
  470. "graph/preprocess/graph_preprocess.cc"
  471. "graph/preprocess/multi_batch_options.cc"
  472. "graph/preprocess/multi_batch_copy_graph.cc"
  473. "graph/execute/graph_execute.cc"
  474. "graph/load/graph_loader.cc"
  475. "graph/optimize/graph_optimize.cc"
  476. "graph/optimize/mem_rw_conflict_optimize.cc"
  477. "graph/optimize/summary_optimize.cc"
  478. "graph/build/graph_builder.cc"
  479. "graph/partition/engine_place.cc"
  480. "graph/partition/graph_partition.cc"
  481. "graph/partition/dynamic_shape_partition.cc"
  482. "graph/partition/stage_partition.cc"
  483. "generator/ge_generator.cc"
  484. "generator/generator_api.cc"
  485. "graph/manager/graph_var_manager.cc"
  486. "graph/manager/host_mem_manager.cc"
  487. "graph/manager/rdma_pool_allocator.cc"
  488. "graph/manager/host_mem_allocator.cc"
  489. "graph/manager/graph_mem_allocator.cc"
  490. "graph/manager/graph_caching_allocator.cc"
  491. "graph/manager/session_scope_mem_allocator.cc"
  492. "graph/manager/graph_mem_manager.cc"
  493. "model/ge_model.cc"
  494. "model/ge_root_model.cc"
  495. "graph/common/transop_util.cc"
  496. "graph/passes/pass_manager.cc"
  497. "graph/passes/resource_pair_add_control_pass.cc"
  498. "graph/passes/resource_pair_remove_control_pass.cc"
  499. "graph/passes/pass_utils.cc"
  500. "graph/passes/base_pass.cc"
  501. "graph/passes/bitcast_pass.cc"
  502. "graph/passes/constant_folding_pass.cc"
  503. "graph/passes/aicpu_constant_folding_pass.cc"
  504. "graph/passes/reshape_remove_pass.cc"
  505. "graph/passes/reshape_recovery_pass.cc"
  506. "graph/passes/transop_breadth_fusion_pass.cc"
  507. "graph/passes/transop_depth_fusion_pass.cc"
  508. "graph/passes/transop_nearby_allreduce_fusion_pass.cc"
  509. "graph/passes/same_transdata_breadth_fusion_pass.cc"
  510. "graph/passes/transop_without_reshape_fusion_pass.cc"
  511. "graph/passes/compile_nodes_pass.cc"
  512. "graph/passes/variable_prepare_op_pass.cc"
  513. "graph/passes/variable_ref_delete_op_pass.cc"
  514. "graph/passes/variable_ref_useless_control_out_delete_pass.cc"
  515. "graph/passes/subgraph_pass.cc"
  516. "graph/passes/data_pass.cc"
  517. "graph/passes/net_output_pass.cc"
  518. "graph/passes/replace_transshape_pass.cc"
  519. "graph/passes/constant_fuse_same_pass.cc"
  520. "graph/passes/fuse_data_nodes_with_common_input_pass.cc"
  521. "graph/passes/print_op_pass.cc"
  522. "graph/passes/no_use_reshape_remove_pass.cc"
  523. "graph/passes/iterator_op_pass.cc"
  524. "graph/passes/input_output_connection_identify_pass.cc"
  525. "graph/passes/atomic_addr_clean_pass.cc"
  526. "graph/passes/mark_same_addr_pass.cc"
  527. "graph/passes/mark_graph_unknown_status_pass.cc"
  528. "graph/passes/mark_node_unknown_shape_pass.cc"
  529. "graph/passes/mark_agnostic_pass.cc"
  530. "graph/common/omg_util.cc"
  531. "graph/common/bcast.cc"
  532. "graph/common/local_context.cc"
  533. "graph/passes/dimension_compute_pass.cc"
  534. "graph/passes/dimension_adjust_pass.cc"
  535. "graph/passes/get_original_format_pass.cc"
  536. "graph/passes/shape_operate_op_remove_pass.cc"
  537. "graph/passes/assert_pass.cc"
  538. "graph/passes/dropout_pass.cc"
  539. "graph/passes/infer_base_pass.cc"
  540. "graph/passes/infershape_pass.cc"
  541. "graph/passes/infer_value_range_pass.cc"
  542. "graph/passes/unused_const_pass.cc"
  543. "graph/passes/permute_pass.cc"
  544. "graph/passes/ctrl_edge_transfer_pass.cc"
  545. "graph/passes/end_of_sequence_add_control_pass.cc"
  546. "host_kernels/broadcast_gradient_args_kernel.cc"
  547. "host_kernels/greater_kernel.cc"
  548. "host_kernels/gather_v2_kernel.cc"
  549. "host_kernels/maximum_kernel.cc"
  550. "host_kernels/floormod_kernel.cc"
  551. "host_kernels/floordiv_kernel.cc"
  552. "host_kernels/range_kernel.cc"
  553. "host_kernels/shape_kernel.cc"
  554. "host_kernels/size_kernel.cc"
  555. "host_kernels/shape_n_kernel.cc"
  556. "host_kernels/rank_kernel.cc"
  557. "host_kernels/broadcast_args_kernel.cc"
  558. "host_kernels/fill_kernel.cc"
  559. "host_kernels/empty_kernel.cc"
  560. "host_kernels/expanddims_kernel.cc"
  561. "host_kernels/reshape_kernel.cc"
  562. "host_kernels/squeeze_kernel.cc"
  563. "host_kernels/unsqueeze_kernel.cc"
  564. "host_kernels/kernel_utils.cc"
  565. "host_kernels/cast_kernel.cc"
  566. "host_kernels/transdata_kernel.cc"
  567. "host_kernels/unpack_kernel.cc"
  568. "host_kernels/transpose_kernel.cc"
  569. "host_kernels/permute_kernel.cc"
  570. "host_kernels/pack_kernel.cc"
  571. "host_kernels/concat_v2_kernel.cc"
  572. "host_kernels/concat_offset_kernel.cc"
  573. "host_kernels/strided_slice_kernel.cc"
  574. "host_kernels/ssd_prior_box_kernel.cc"
  575. "host_kernels/add_kernel.cc"
  576. "host_kernels/sub_kernel.cc"
  577. "host_kernels/mul_kernel.cc"
  578. "host_kernels/reduce_prod_kernel.cc"
  579. "host_kernels/rsqrt_kernel.cc"
  580. "host_kernels/slice_kernel.cc"
  581. "host_kernels/slice_d_kernel.cc"
  582. "host_kernels/dynamic_stitch_kernel.cc"
  583. "host_kernels/identity_kernel.cc"
  584. "host_kernels/reformat_kernel.cc"
  585. "graph/passes/stop_gradient_pass.cc"
  586. "graph/passes/prevent_gradient_pass.cc"
  587. "graph/passes/identity_pass.cc"
  588. "graph/passes/ref_identity_delete_op_pass.cc"
  589. "graph/passes/placeholder_with_default_pass.cc"
  590. "graph/passes/snapshot_pass.cc"
  591. "graph/passes/guarantee_const_pass.cc"
  592. "graph/passes/var_is_initialized_op_pass.cc"
  593. "graph/passes/parallel_concat_start_op_pass.cc"
  594. "graph/passes/folding_pass.cc"
  595. "graph/passes/cast_translate_pass.cc"
  596. "graph/passes/prune_pass.cc"
  597. "graph/passes/merge_to_stream_merge_pass.cc"
  598. "graph/passes/merge_input_memcpy_pass.cc"
  599. "graph/passes/switch_to_stream_switch_pass.cc"
  600. "graph/passes/mark_force_unknown_for_cond_pass.cc"
  601. "graph/passes/attach_stream_label_pass.cc"
  602. "graph/passes/multi_batch_pass.cc"
  603. "graph/passes/multi_batch_clone_pass.cc"
  604. "graph/passes/subexpression_migration_pass.cc"
  605. "graph/passes/subgraph_const_migration_pass.cc"
  606. "graph/passes/unused_args_clean_pass.cc"
  607. "graph/passes/next_iteration_pass.cc"
  608. "graph/passes/control_trigger_pass.cc"
  609. "graph/passes/cond_pass.cc"
  610. "graph/passes/cond_remove_pass.cc"
  611. "graph/passes/for_pass.cc"
  612. "graph/passes/enter_pass.cc"
  613. "graph/passes/assign_remove_pass.cc"
  614. "graph/passes/inplace_support_check_pass.cc"
  615. "graph/passes/addn_pass.cc"
  616. "graph/passes/common_subexpression_elimination_pass.cc"
  617. "graph/passes/remove_same_const_pass.cc"
  618. "graph/passes/useless_control_out_remove_pass.cc"
  619. "graph/passes/transop_symmetry_elimination_pass.cc"
  620. "graph/passes/save_pass.cc"
  621. "graph/passes/switch_dead_branch_elimination.cc"
  622. "graph/passes/switch_logic_remove_pass.cc"
  623. "graph/passes/switch_data_edges_bypass.cc"
  624. "graph/passes/merge_pass.cc"
  625. "graph/passes/variable_op_pass.cc"
  626. "graph/passes/cast_remove_pass.cc"
  627. "graph/passes/transpose_transdata_pass.cc"
  628. "graph/passes/hccl_memcpy_pass.cc"
  629. "graph/passes/hccl_continuous_memcpy_pass.cc"
  630. "graph/passes/flow_ctrl_pass.cc"
  631. "graph/passes/global_step_insert_pass.cc"
  632. "graph/passes/link_gen_mask_nodes_pass.cc"
  633. "graph/passes/replace_with_empty_const_pass.cc"
  634. "graph/passes/hccl_group_pass.cc"
  635. "graph/passes/hccl_tailing_optimization_pass.cc"
  636. "graph/passes/memcpy_addr_async_pass.cc"
  637. "graph/passes/set_input_output_offset_pass.cc"
  638. "graph/passes/parallel_group_pass.cc"
  639. "graph/passes/buffer_pool_memory_pass.cc"
  640. "graph/manager/model_manager/event_manager.cc"
  641. "graph/manager/util/rt_context_util.cc"
  642. "graph/manager/util/variable_accelerate_ctrl.cc"
  643. "graph/manager/util/debug.cc"
  644. "graph/load/model_manager/model_manager.cc"
  645. "graph/load/model_manager/data_inputer.cc"
  646. "graph/load/model_manager/davinci_model.cc"
  647. "graph/load/model_manager/model_utils.cc"
  648. "graph/load/model_manager/aipp_utils.cc"
  649. "graph/load/model_manager/tbe_handle_store.cc"
  650. "graph/load/model_manager/cpu_queue_schedule.cc"
  651. "graph/load/model_manager/zero_copy_task.cc"
  652. "graph/load/model_manager/zero_copy_offset.cc"
  653. "graph/load/model_manager/data_dumper.cc"
  654. "graph/load/model_manager/task_info/task_info.cc"
  655. "graph/load/model_manager/task_info/event_record_task_info.cc"
  656. "graph/load/model_manager/task_info/event_wait_task_info.cc"
  657. "graph/load/model_manager/task_info/ffts_task_info.cc"
  658. "graph/load/model_manager/task_info/fusion_start_task_info.cc"
  659. "graph/load/model_manager/task_info/fusion_stop_task_info.cc"
  660. "graph/load/model_manager/task_info/kernel_ex_task_info.cc"
  661. "graph/load/model_manager/task_info/kernel_task_info.cc"
  662. "graph/load/model_manager/task_info/label_set_task_info.cc"
  663. "graph/load/model_manager/task_info/label_switch_by_index_task_info.cc"
  664. "graph/load/model_manager/task_info/label_goto_ex_task_info.cc"
  665. "graph/load/model_manager/task_info/memcpy_async_task_info.cc"
  666. "graph/load/model_manager/task_info/memcpy_addr_async_task_info.cc"
  667. "graph/load/model_manager/task_info/profiler_trace_task_info.cc"
  668. "graph/load/model_manager/task_info/stream_active_task_info.cc"
  669. "graph/load/model_manager/task_info/stream_switch_task_info.cc"
  670. "graph/load/model_manager/task_info/stream_switchn_task_info.cc"
  671. "graph/load/model_manager/task_info/end_graph_task_info.cc"
  672. "graph/load/model_manager/task_info/model_exit_task_info.cc"
  673. "graph/load/model_manager/task_info/super_kernel/super_kernel_factory.cc"
  674. "graph/load/model_manager/task_info/super_kernel/super_kernel.cc"
  675. "hybrid/hybrid_davinci_model_stub.cc"
  676. "ir_build/ge_ir_build.cc"
  677. "ir_build/attr_options/utils.cc"
  678. "ir_build/attr_options/keep_dtype_option.cc"
  679. "ir_build/attr_options/weight_compress_option.cc"
  680. "ir_build/option_utils.cc"
  681. "graph/preprocess/insert_op/ge_aipp_op.cc"
  682. "graph/preprocess/insert_op/util_insert_aipp_op.cc"
  683. "hybrid/node_executor/aicpu/aicpu_ext_info.cc"
  684. "graph/build/model_builder.cc"
  685. "graph/build/task_generator.cc"
  686. "graph/build/stream_allocator.cc"
  687. "graph/build/logical_stream_allocator.cc"
  688. "graph/build/stream_graph_optimizer.cc"
  689. "graph/build/run_context.cc"
  690. "graph/build/label_allocator.cc"
  691. "graph/label/label_maker.cc"
  692. "graph/label/if_label_maker.cc"
  693. "graph/label/case_label_maker.cc"
  694. "graph/label/while_label_maker.cc"
  695. "graph/label/partitioned_call_label_maker.cc"
  696. "analyzer/analyzer.cc"
  697. "graph/build/memory/memory_assigner.cc"
  698. "graph/build/memory/graph_mem_assigner.cc"
  699. "graph/build/memory/binary_block_mem_assigner.cc"
  700. "graph/build/memory/block_mem_assigner.cc"
  701. "graph/build/memory/hybrid_mem_assigner.cc"
  702. "graph/build/memory/max_block_mem_assigner.cc"
  703. "graph/build/memory/var_mem_assign_util.cc"
  704. "graph/build/memory/buffer_pool_mem_assigner.cc"
  705. "ge_opt_info/ge_opt_info.cc"
  706. )
  707. if (NOT ENABLE_D AND NOT ENABLE_ACL AND NOT ENABLE_MS_TESTCASES)
  708. message("CMAKE_CXX_COMPILER_VERSION = ${CMAKE_CXX_COMPILER_VERSION}")
  709. ############ libge_runner.so ############
  710. add_library(ge_runner SHARED
  711. ${TRAIN_SRC_LIST}
  712. $<TARGET_OBJECTS:$<IF:$<TARGET_EXISTS:msprofiler_fwk>,msprofiler_fwk,msprofiler_fwk_object>>
  713. )
  714. add_library(msprofiler_fwk_object OBJECT IMPORTED GLOBAL)
  715. if (msprofiler_fwk_ext_LIBRARY_DIR)
  716. file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/msprofiler_fwk_object)
  717. execute_process(
  718. COMMAND ar x ${msprofiler_fwk_ext_LIBRARY_DIR}
  719. WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/msprofiler_fwk_object
  720. )
  721. file(GLOB MSPROFILER_FWK_OBJECT_LIST ${CMAKE_CURRENT_BINARY_DIR}/msprofiler_fwk_object/*.o)
  722. set_property(TARGET msprofiler_fwk_object PROPERTY IMPORTED_OBJECTS ${MSPROFILER_FWK_OBJECT_LIST})
  723. endif()
  724. target_compile_definitions(ge_runner PRIVATE
  725. PROTOBUF_INLINE_NOT_IN_HEADERS=0
  726. DAVINCI_SUPPORT_PROFILING
  727. REUSE_MEMORY=1
  728. FMK_SUPPORT_DUMP
  729. DAVINCI_CLOUD
  730. google=ascend_private
  731. FUNC_VISIBILITY
  732. $<$<STREQUAL:${ENABLE_OPEN_SRC},True>:ONLY_COMPILE_OPEN_SRC>
  733. )
  734. target_compile_options(ge_runner PRIVATE
  735. -O2
  736. -fno-common
  737. -fvisibility=hidden
  738. $<$<STREQUAL:${CMAKE_CXX_COMPILER_VERSION},7.3.0>:-Werror=unused-variable>
  739. $<$<STREQUAL:${CMAKE_CXX_COMPILER_VERSION},7.3.0>:-Werror=unused-const-variable -Werror=format>
  740. )
  741. target_include_directories(ge_runner SYSTEM PRIVATE
  742. ${GE_CODE_DIR}/ge
  743. ${GE_CODE_DIR}/inc
  744. ${GE_CODE_DIR}/inc/external
  745. ${GE_CODE_DIR}/inc/framework
  746. ${METADEF_DIR}/inc
  747. ${METADEF_DIR}/inc/external
  748. ${CMAKE_BINARY_DIR}
  749. ${CMAKE_BINARY_DIR}/proto/graphengine_protos
  750. #### yellow zone ####
  751. ${GE_CODE_DIR}/../inc
  752. ${GE_CODE_DIR}/../toolchain/ide/ide-daemon/external
  753. ${GE_CODE_DIR}/../abl/adump/external
  754. ${GE_CODE_DIR}/../abl/licctrl
  755. #### blue zone
  756. ${ASCEND_DIR}/driver/include
  757. ${ASCEND_DIR}/fwkacllib/include
  758. ${GE_CODE_DIR}/third_party/fwkacllib/inc
  759. ${GE_CODE_DIR}/third_party/fwkacllib/inc/toolchain
  760. ${GE_CODE_DIR}/third_party/fwkacllib/inc/opt_info
  761. )
  762. target_link_options(ge_runner PRIVATE
  763. -Wl,-Bsymbolic
  764. )
  765. target_link_libraries(ge_runner PRIVATE
  766. $<BUILD_INTERFACE:intf_pub>
  767. adump_server
  768. static_mmpa
  769. ge_proto_common
  770. ge_proto_client
  771. -Wl,--no-as-needed
  772. graph
  773. ge_common
  774. ascend_protobuf
  775. register
  776. c_sec
  777. slog
  778. runtime
  779. error_manager
  780. ascend_hal_stub
  781. opt_feature
  782. -Wl,--as-needed
  783. json
  784. -lrt
  785. -ldl
  786. )
  787. ############ libge_compiler.so ############
  788. add_library(ge_compiler SHARED
  789. ${INFER_SRC_LIST}
  790. )
  791. add_dependencies(ge_compiler
  792. graphengine_protos
  793. )
  794. target_compile_definitions(ge_compiler PRIVATE
  795. PROTOBUF_INLINE_NOT_IN_HEADERS=0
  796. REUSE_MEMORY=1
  797. FMK_SUPPORT_DUMP
  798. FMK_HOST_INFER
  799. COMPILE_OMG_PACKAGE
  800. google=ascend_private
  801. FUNC_VISIBILITY
  802. $<$<STREQUAL:${ENABLE_OPEN_SRC},True>:ONLY_COMPILE_OPEN_SRC>
  803. )
  804. target_compile_options(ge_compiler PRIVATE
  805. -O2
  806. -fno-common
  807. -fvisibility=hidden
  808. $<$<STREQUAL:${CMAKE_CXX_COMPILER_VERSION},7.3.0>:-Werror=unused-variable>
  809. $<$<STREQUAL:${CMAKE_CXX_COMPILER_VERSION},7.3.0>:-Werror=unused-const-variable -Werror=format>
  810. )
  811. target_include_directories(ge_compiler SYSTEM PRIVATE
  812. ${GE_CODE_DIR}/ge
  813. ${GE_CODE_DIR}/inc
  814. ${GE_CODE_DIR}/inc/external
  815. ${GE_CODE_DIR}/inc/framework
  816. ${METADEF_DIR}/inc
  817. ${METADEF_DIR}/inc/external
  818. ${CMAKE_BINARY_DIR}
  819. ${CMAKE_BINARY_DIR}/proto/graphengine_protos
  820. #### yellow zone ####
  821. ${GE_CODE_DIR}/../inc
  822. ${GE_CODE_DIR}/../toolchain/ide/ide-daemon/external
  823. ${GE_CODE_DIR}/../abl/adump/external
  824. ${GE_CODE_DIR}/../abl/licctrl
  825. #### blue zone ####
  826. ${ASCEND_DIR}/driver/include
  827. ${ASCEND_DIR}/fwkacllib/include
  828. ${GE_CODE_DIR}/third_party/fwkacllib/inc
  829. ${GE_CODE_DIR}/third_party/fwkacllib/inc/toolchain
  830. ${GE_CODE_DIR}/third_party/fwkacllib/inc/opt_info
  831. )
  832. target_link_options(ge_compiler PRIVATE
  833. -Wl,-Bsymbolic
  834. )
  835. target_link_libraries(ge_compiler PRIVATE
  836. $<BUILD_INTERFACE:intf_pub>
  837. static_mmpa
  838. ge_proto_common
  839. -Wl,--no-as-needed
  840. graph
  841. ge_common
  842. ascend_protobuf
  843. register
  844. c_sec
  845. error_manager
  846. slog
  847. runtime_compile
  848. opt_feature
  849. -Wl,--as-needed
  850. json
  851. -lrt
  852. -ldl
  853. )
  854. ############ libascendcl.so ############
  855. file(GENERATE OUTPUT ${CMAKE_BINARY_DIR}/dummy.c CONTENT "")
  856. #add_library(dummy_obj OBJECT ${CMAKE_BINARY_DIR}/dummy.c)
  857. #set(DUMMY_OBJ $<TARGET_OBJECTS:dummy_obj>)
  858. file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ascendcl_object)
  859. if(EXISTS ${STATIC_ACL_LIB}/libascendcl.a)
  860. execute_process(
  861. COMMAND ar x ${STATIC_ACL_LIB}/libascendcl.a
  862. WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ascendcl_object
  863. )
  864. file(GLOB OBJECT_LIST ${CMAKE_CURRENT_BINARY_DIR}/ascendcl_object/*.o)
  865. else()
  866. set(OBJECT_LIST ${CMAKE_BINARY_DIR}/dummy.c)
  867. endif()
  868. add_library(opensrc_ascendcl SHARED
  869. ${OBJECT_LIST}
  870. $<TARGET_OBJECTS:$<IF:$<TARGET_EXISTS:msprofiler>,msprofiler,msprofiler_object>>
  871. )
  872. add_library(msprofiler_object OBJECT IMPORTED GLOBAL)
  873. if (msprofiler_ext_LIBRARY_DIR)
  874. file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/msprofiler_object)
  875. execute_process(
  876. COMMAND ar x ${msprofiler_ext_LIBRARY_DIR}
  877. WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/msprofiler_object
  878. )
  879. file(GLOB MSPROFILER_OBJECT_LIST ${CMAKE_CURRENT_BINARY_DIR}/msprofiler_object/*.o)
  880. set_property(TARGET msprofiler_object PROPERTY IMPORTED_OBJECTS ${MSPROFILER_OBJECT_LIST})
  881. endif()
  882. target_compile_definitions(opensrc_ascendcl PRIVATE
  883. google=ascend_private
  884. )
  885. target_compile_options(opensrc_ascendcl PRIVATE
  886. -O2
  887. -fvisibility=hidden
  888. )
  889. target_link_options(opensrc_ascendcl PRIVATE
  890. -rdynamic
  891. -Wl,--allow-multiple-definition
  892. -Wl,-z,muldefs
  893. -Wl,-Bsymbolic
  894. -Wl,--exclude-libs,ALL
  895. )
  896. target_link_libraries(opensrc_ascendcl PRIVATE
  897. -Wl,--whole-archive
  898. ge_executor
  899. ge_common_static
  900. graph_static
  901. static_mmpa
  902. ascend_protobuf_static
  903. register_static
  904. error_manager_static
  905. adump_server
  906. -Wl,--no-whole-archive
  907. -Wl,--no-as-needed
  908. c_sec
  909. runtime
  910. slog
  911. ascend_hal_stub
  912. -Wl,--as-needed
  913. -lrt
  914. -ldl
  915. json
  916. )
  917. set_target_properties(opensrc_ascendcl PROPERTIES
  918. OUTPUT_NAME ascendcl
  919. )
  920. ##################################################################
  921. add_custom_command(
  922. OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/stub_ge_ir_build.cc
  923. ${CMAKE_CURRENT_BINARY_DIR}/stub_ge_api.cc
  924. COMMAND echo "Generating stub files."
  925. && ${HI_PYTHON} ${CMAKE_CURRENT_LIST_DIR}/stub/gen_stubapi.py ${GE_CODE_DIR}/inc/external ${CMAKE_CURRENT_BINARY_DIR}
  926. && mv ge_ir_build.cc stub_ge_ir_build.cc
  927. && mv ge_api.cc stub_ge_api.cc
  928. && echo "Generating stub files end."
  929. #WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
  930. #DEPENDS stub/gen_stubapi.py ${TOP_DIR}/inc/external ${CMAKE_CURRENT_BINARY_DIR}
  931. )
  932. add_custom_target(ge_stub
  933. DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/stub_ge_ir_build.cc
  934. ${CMAKE_CURRENT_BINARY_DIR}/stub_ge_api.cc
  935. )
  936. ##################################################################
  937. ############ stub/libge_compiler.so ############
  938. add_library(atc_stub_ge_compiler SHARED
  939. stub_ge_ir_build.cc
  940. )
  941. add_dependencies(atc_stub_ge_compiler ge_stub)
  942. target_compile_options(atc_stub_ge_compiler PRIVATE
  943. -fno-common
  944. )
  945. target_link_libraries(atc_stub_ge_compiler PRIVATE
  946. $<BUILD_INTERFACE:intf_pub>
  947. )
  948. set_target_properties(atc_stub_ge_compiler PROPERTIES
  949. OUTPUT_NAME ge_compiler
  950. LIBRARY_OUTPUT_DIRECTORY atc_stub
  951. )
  952. target_include_directories(atc_stub_ge_compiler PRIVATE
  953. ${GE_CODE_DIR}/ge
  954. ${GE_CODE_DIR}/inc
  955. ${GE_CODE_DIR}/inc/framework
  956. ${GE_CODE_DIR}/inc/external
  957. ${METADEF_DIR}/inc/external
  958. ${METADEF_DIR}/inc
  959. #### yellow zone ####
  960. ${GE_CODE_DIR}/../inc
  961. ${GE_CODE_DIR}/../toolchain/ide/ide-daemon/external
  962. ${GE_CODE_DIR}/../abl/adump/external
  963. #### blue zone ####
  964. ${ASCEND_DIR}/driver/include
  965. ${ASCEND_DIR}/fwkacllib/include
  966. )
  967. ############ stub/libge_runner.so ############
  968. add_library(fwk_stub_ge_runner SHARED
  969. stub_ge_api.cc
  970. stub_ge_ir_build.cc
  971. )
  972. add_dependencies(fwk_stub_ge_runner ge_stub)
  973. target_compile_options(fwk_stub_ge_runner PRIVATE
  974. -fno-common
  975. )
  976. target_link_libraries(fwk_stub_ge_runner PRIVATE
  977. $<BUILD_INTERFACE:intf_pub>
  978. )
  979. set_target_properties(fwk_stub_ge_runner PROPERTIES
  980. OUTPUT_NAME ge_runner
  981. LIBRARY_OUTPUT_DIRECTORY fwk_stub
  982. )
  983. target_include_directories(fwk_stub_ge_runner PRIVATE
  984. ${GE_CODE_DIR}/ge
  985. ${GE_CODE_DIR}/inc
  986. ${GE_CODE_DIR}/inc/external
  987. ${GE_CODE_DIR}/inc/framework
  988. ${METADEF_DIR}/inc/external
  989. ${METADEF_DIR}/inc
  990. #### yellow zone ####
  991. ${GE_CODE_DIR}/../inc
  992. ${GE_CODE_DIR}/../toolchain/ide/ide-daemon/external
  993. ${GE_CODE_DIR}/../abl/adump/external
  994. #### blue zone ####
  995. ${ASCEND_DIR}/driver/include
  996. ${ASCEND_DIR}/fwkacllib/include
  997. )
  998. ###############################################################
  999. add_custom_target(
  1000. engine_conf.json ALL
  1001. DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/engine_conf.json
  1002. )
  1003. add_custom_command(
  1004. OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/engine_conf.json
  1005. COMMAND cp ${CMAKE_CURRENT_LIST_DIR}/engine_manager/engine_conf.json ${CMAKE_CURRENT_BINARY_DIR}/
  1006. )
  1007. ###############################################################
  1008. add_custom_target(
  1009. optimizer_priority.pbtxt ALL
  1010. DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/optimizer_priority.pbtxt
  1011. )
  1012. add_custom_command(
  1013. OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/optimizer_priority.pbtxt
  1014. COMMAND cp ${CMAKE_CURRENT_LIST_DIR}/opskernel_manager/optimizer_priority.pbtxt ${CMAKE_CURRENT_BINARY_DIR}/
  1015. )
  1016. ###############################################################
  1017. ############ install ############
  1018. set(INSTALL_BASE_DIR "")
  1019. set(INSTALL_LIBRARY_DIR lib)
  1020. install(TARGETS ge_runner ge_compiler opensrc_ascendcl OPTIONAL
  1021. LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}
  1022. )
  1023. install(TARGETS atc_stub_ge_compiler fwk_stub_ge_runner OPTIONAL
  1024. LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}/stub
  1025. )
  1026. install(FILES
  1027. ${CMAKE_CURRENT_BINARY_DIR}/engine_conf.json
  1028. ${CMAKE_CURRENT_BINARY_DIR}/optimizer_priority.pbtxt OPTIONAL
  1029. DESTINATION ${INSTALL_LIBRARY_DIR}
  1030. )
  1031. endif()

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