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

5 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
4 years ago
5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. set(SRC_LIST
  2. "main.cc"
  3. "single_op_parser.cc"
  4. "../session/omg.cc"
  5. "../ir_build/option_utils.cc"
  6. )
  7. ############ atc_atc.bin ############
  8. add_executable(atc_atc.bin ${SRC_LIST})
  9. add_dependencies(atc_atc.bin
  10. graphengine_protos
  11. )
  12. target_compile_options(atc_atc.bin PRIVATE
  13. -Werror
  14. -O2
  15. -Wno-deprecated-declarations
  16. -fno-common
  17. -fvisibility=hidden
  18. )
  19. target_compile_definitions(atc_atc.bin PRIVATE
  20. PROTOBUF_INLINE_NOT_IN_HEADERS=0
  21. COMPILE_OMG_PACKAGE
  22. google=ascend_private
  23. LOG_CPP
  24. FUNC_VISIBILITY
  25. )
  26. target_include_directories(atc_atc.bin PRIVATE
  27. ${CMAKE_CURRENT_LIST_DIR}
  28. ${GE_CODE_DIR}/ge
  29. ${GE_CODE_DIR}/inc/external
  30. ${GE_CODE_DIR}/inc
  31. ${GE_CODE_DIR}/inc/framework
  32. ${METADEF_DIR}/inc
  33. ${METADEF_DIR}/inc/external
  34. ${PARSER_DIR}
  35. ${CMAKE_BINARY_DIR}
  36. ${CMAKE_BINARY_DIR}/proto/graphengine_protos
  37. #### yellow zone ####
  38. ${GE_CODE_DIR}/../inc
  39. #### blue zone ####
  40. ${GE_CODE_DIR}/third_party/fwkacllib/inc
  41. ${GE_CODE_DIR}/third_party/fwkacllib/inc/toolchain
  42. )
  43. target_link_options(atc_atc.bin PRIVATE
  44. -Wl,-Bsymbolic
  45. )
  46. target_link_libraries(atc_atc.bin PRIVATE
  47. $<BUILD_INTERFACE:intf_pub>
  48. ascend_protobuf
  49. ge_common
  50. register
  51. c_sec
  52. graph
  53. error_manager
  54. ge_compiler
  55. parser_common
  56. gflags
  57. json
  58. $<$<NOT:$<BOOL:${ENABLE_OPEN_SRC}>>:$<BUILD_INTERFACE:runtime>>
  59. $<$<BOOL:${ENABLE_OPEN_SRC}>:$<BUILD_INTERFACE:runtime_compile>>
  60. slog
  61. static_mmpa
  62. -lrt
  63. -ldl
  64. )
  65. set_target_properties(atc_atc.bin PROPERTIES
  66. OUTPUT_NAME atc.bin
  67. RUNTIME_OUTPUT_DIRECTORY atclib
  68. )
  69. ############ fwk_atc.bin ############
  70. add_executable(fwk_atc.bin ${SRC_LIST})
  71. add_dependencies(fwk_atc.bin
  72. graphengine_protos
  73. )
  74. target_compile_options(fwk_atc.bin PRIVATE
  75. -Werror
  76. -O2
  77. -Wno-deprecated-declarations
  78. -fno-common
  79. -fvisibility=hidden
  80. )
  81. target_compile_definitions(fwk_atc.bin PRIVATE
  82. PROTOBUF_INLINE_NOT_IN_HEADERS=0
  83. COMPILE_OMG_PACKAGE
  84. google=ascend_private
  85. LOG_CPP
  86. FUNC_VISIBILITY
  87. )
  88. target_include_directories(fwk_atc.bin PRIVATE
  89. ${CMAKE_CURRENT_LIST_DIR}
  90. ${GE_CODE_DIR}/ge
  91. ${GE_CODE_DIR}/inc/external
  92. ${GE_CODE_DIR}/inc
  93. ${GE_CODE_DIR}/inc/framework
  94. ${METADEF_DIR}/inc
  95. ${METADEF_DIR}/inc/external
  96. ${PARSER_DIR}
  97. ${CMAKE_BINARY_DIR}
  98. ${CMAKE_BINARY_DIR}/proto/graphengine_protos
  99. #### yellow zone ####
  100. ${GE_CODE_DIR}/../inc
  101. #### blue zone ####
  102. ${GE_CODE_DIR}/third_party/fwkacllib/inc
  103. ${GE_CODE_DIR}/third_party/fwkacllib/inc/toolchain
  104. )
  105. target_link_options(fwk_atc.bin PRIVATE
  106. -Wl,-Bsymbolic
  107. )
  108. target_link_libraries(fwk_atc.bin PRIVATE
  109. $<BUILD_INTERFACE:intf_pub>
  110. ascend_protobuf
  111. ge_common
  112. register
  113. c_sec
  114. graph
  115. error_manager
  116. ge_runner
  117. parser_common
  118. gflags
  119. json
  120. runtime
  121. slog
  122. static_mmpa
  123. -lrt
  124. -ldl
  125. )
  126. set_target_properties(fwk_atc.bin PROPERTIES
  127. OUTPUT_NAME atc.bin
  128. RUNTIME_OUTPUT_DIRECTORY fwkacl
  129. )
  130. ############ install ############
  131. set(INSTALL_BASE_DIR "")
  132. set(INSTALL_LIBRARY_DIR lib)
  133. install(TARGETS atc_atc.bin OPTIONAL
  134. RUNTIME DESTINATION ${INSTALL_LIBRARY_DIR}/atclib
  135. )
  136. install(TARGETS fwk_atc.bin OPTIONAL
  137. RUNTIME DESTINATION ${INSTALL_LIBRARY_DIR}/fwkacl
  138. )

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