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 5.0 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
4 years ago
5 years ago
4 years ago
4 years ago
5 years ago
5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. set(PROTO_LIST
  2. "${METADEF_DIR}/proto/om.proto"
  3. "${METADEF_DIR}/proto/ge_ir.proto"
  4. "${METADEF_DIR}/proto/insert_op.proto"
  5. "${METADEF_DIR}/proto/task.proto"
  6. )
  7. protobuf_generate(ge PROTO_SRCS PROTO_HDRS ${PROTO_LIST})
  8. set(SRC_LIST
  9. "main.cc"
  10. "single_op_parser.cc"
  11. "../session/omg.cc"
  12. "../ir_build/atc_ir_common.cc"
  13. )
  14. ############ atc ############
  15. add_executable(atc ${SRC_LIST} ${PROTO_HDRS})
  16. target_compile_options(atc PRIVATE
  17. -Werror
  18. -O2
  19. -Wno-deprecated-declarations
  20. )
  21. target_compile_definitions(atc PRIVATE
  22. PROTOBUF_INLINE_NOT_IN_HEADERS=0
  23. COMPILE_OMG_PACKAGE
  24. google=ascend_private
  25. LOG_CPP
  26. )
  27. target_include_directories(atc PRIVATE
  28. ${CMAKE_CURRENT_LIST_DIR}
  29. ${GE_CODE_DIR}
  30. ${GE_CODE_DIR}/ge
  31. ${GE_CODE_DIR}/inc/external
  32. ${GE_CODE_DIR}/common/inc/external
  33. ${GE_CODE_DIR}/common/inc/external/graph
  34. ${GE_CODE_DIR}/inc
  35. ${GE_CODE_DIR}/inc/framework
  36. ${METADEF_DIR}/inc
  37. ${METADEF_DIR}/inc/graph
  38. ${METADEF_DIR}/inc/register
  39. ${METADEF_DIR}/inc/external
  40. ${METADEF_DIR}/inc/external/graph
  41. ${METADEF_DIR}/inc/external/register
  42. ${PARSER_DIR}
  43. ${CMAKE_BINARY_DIR}
  44. ${CMAKE_BINARY_DIR}/proto/ge
  45. #### yellow zone ####
  46. ${GE_CODE_DIR}/../inc
  47. ${GE_CODE_DIR}/../inc/common
  48. #### blue zone ####
  49. ${GE_CODE_DIR}/third_party/fwkacllib/inc
  50. ${GE_CODE_DIR}/third_party/fwkacllib/inc/toolchain
  51. )
  52. target_link_libraries(atc PRIVATE
  53. $<BUILD_INTERFACE:intf_pub>
  54. ascend_protobuf
  55. ge_common
  56. register
  57. c_sec
  58. graph
  59. error_manager
  60. ge_compiler
  61. parser_common
  62. gflags
  63. json
  64. runtime_compile
  65. slog
  66. static_mmpa
  67. -lrt
  68. -ldl
  69. )
  70. ############ atc_atc.bin ############
  71. add_executable(atc_atc.bin ${SRC_LIST} ${PROTO_HDRS})
  72. target_compile_options(atc_atc.bin PRIVATE
  73. -Werror
  74. -O2
  75. -Wno-deprecated-declarations
  76. )
  77. target_compile_definitions(atc_atc.bin PRIVATE
  78. PROTOBUF_INLINE_NOT_IN_HEADERS=0
  79. COMPILE_OMG_PACKAGE
  80. google=ascend_private
  81. LOG_CPP
  82. )
  83. target_include_directories(atc_atc.bin PRIVATE
  84. ${CMAKE_CURRENT_LIST_DIR}
  85. ${GE_CODE_DIR}
  86. ${GE_CODE_DIR}/ge
  87. ${GE_CODE_DIR}/inc/external
  88. ${GE_CODE_DIR}/common/inc/external
  89. ${GE_CODE_DIR}/common/inc/external/graph
  90. ${GE_CODE_DIR}/inc
  91. ${GE_CODE_DIR}/inc/framework
  92. ${METADEF_DIR}/inc
  93. ${METADEF_DIR}/inc/graph
  94. ${METADEF_DIR}/inc/register
  95. ${METADEF_DIR}/inc/external
  96. ${METADEF_DIR}/inc/external/graph
  97. ${METADEF_DIR}/inc/external/register
  98. ${PARSER_DIR}
  99. ${CMAKE_BINARY_DIR}
  100. ${CMAKE_BINARY_DIR}/proto/ge
  101. #### yellow zone ####
  102. ${GE_CODE_DIR}/../inc
  103. ${GE_CODE_DIR}/../inc/common
  104. #### blue zone ####
  105. ${GE_CODE_DIR}/third_party/fwkacllib/inc
  106. ${GE_CODE_DIR}/third_party/fwkacllib/inc/toolchain
  107. )
  108. target_link_libraries(atc_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_compiler
  117. parser_common
  118. gflags
  119. json
  120. runtime_compile
  121. slog
  122. static_mmpa
  123. -lrt
  124. -ldl
  125. )
  126. set_target_properties(atc_atc.bin PROPERTIES
  127. OUTPUT_NAME atc.bin
  128. RUNTIME_OUTPUT_DIRECTORY atclib
  129. )
  130. ############ fwk_atc.bin ############
  131. add_executable(fwk_atc.bin ${SRC_LIST} ${PROTO_HDRS})
  132. target_compile_options(fwk_atc.bin PRIVATE
  133. -Werror
  134. -O2
  135. -Wno-deprecated-declarations
  136. )
  137. target_compile_definitions(fwk_atc.bin PRIVATE
  138. PROTOBUF_INLINE_NOT_IN_HEADERS=0
  139. COMPILE_OMG_PACKAGE
  140. google=ascend_private
  141. LOG_CPP
  142. )
  143. target_include_directories(fwk_atc.bin PRIVATE
  144. ${CMAKE_CURRENT_LIST_DIR}
  145. ${GE_CODE_DIR}
  146. ${GE_CODE_DIR}/ge
  147. ${GE_CODE_DIR}/inc/external
  148. ${GE_CODE_DIR}/common/inc/external
  149. ${GE_CODE_DIR}/common/inc/external/graph
  150. ${GE_CODE_DIR}/inc
  151. ${GE_CODE_DIR}/inc/framework
  152. ${METADEF_DIR}/inc
  153. ${METADEF_DIR}/inc/graph
  154. ${METADEF_DIR}/inc/register
  155. ${METADEF_DIR}/inc/external
  156. ${METADEF_DIR}/inc/external/graph
  157. ${METADEF_DIR}/inc/external/register
  158. ${PARSER_DIR}
  159. ${CMAKE_BINARY_DIR}
  160. ${CMAKE_BINARY_DIR}/proto/ge
  161. #### yellow zone ####
  162. ${GE_CODE_DIR}/../inc
  163. ${GE_CODE_DIR}/../inc/common
  164. #### blue zone ####
  165. ${GE_CODE_DIR}/third_party/fwkacllib/inc
  166. ${GE_CODE_DIR}/third_party/fwkacllib/inc/toolchain
  167. )
  168. target_link_libraries(fwk_atc.bin PRIVATE
  169. $<BUILD_INTERFACE:intf_pub>
  170. ascend_protobuf
  171. ge_common
  172. register
  173. c_sec
  174. graph
  175. error_manager
  176. ge_runner
  177. parser_common
  178. gflags
  179. json
  180. runtime
  181. slog
  182. static_mmpa
  183. -lrt
  184. -ldl
  185. )
  186. set_target_properties(fwk_atc.bin PROPERTIES
  187. OUTPUT_NAME atc.bin
  188. RUNTIME_OUTPUT_DIRECTORY fwkacl
  189. )
  190. ############ install ############
  191. set(INSTALL_BASE_DIR "")
  192. set(INSTALL_LIBRARY_DIR lib)
  193. install(TARGETS atc OPTIONAL
  194. LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}
  195. )
  196. install(TARGETS atc_atc.bin OPTIONAL
  197. RUNTIME DESTINATION ${INSTALL_LIBRARY_DIR}/atclib
  198. )
  199. install(TARGETS fwk_atc.bin OPTIONAL
  200. RUNTIME DESTINATION ${INSTALL_LIBRARY_DIR}/fwkacl
  201. )

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