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.

graph.mk 6.4 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. LOCAL_PATH := $(call my-dir)
  2. include $(LOCAL_PATH)/stub/Makefile
  3. COMMON_LOCAL_SRC_FILES := \
  4. ./proto/om.proto \
  5. ./proto/ge_ir.proto \
  6. ./proto/ge_onnx.proto \
  7. ./proto/insert_op.proto \
  8. ./proto/task.proto \
  9. ./proto/fwk_adapter.proto \
  10. ./proto/op_mapping_info.proto \
  11. ./proto/dump_task.proto \
  12. ./anchor.cc \
  13. ./ge_attr_value.cc \
  14. ./attr_value.cc \
  15. ./buffer.cc \
  16. ./compute_graph.cc \
  17. ./graph.cc \
  18. ./inference_context.cc \
  19. ./shape_refiner.cc \
  20. ./format_refiner.cc \
  21. ./ref_relation.cc \
  22. ./model.cc \
  23. ./model_serialize.cc \
  24. ./node.cc \
  25. ./op_desc.cc \
  26. ./operator.cc \
  27. ./operator_factory.cc \
  28. ./operator_factory_impl.cc \
  29. ./ge_attr_define.cc \
  30. ./ge_tensor.cc \
  31. ./detail/attributes_holder.cc \
  32. ./utils/anchor_utils.cc \
  33. ./utils/tuning_utils.cc \
  34. ./utils/graph_utils.cc \
  35. ./utils/ge_ir_utils.cc \
  36. ./utils/node_utils.cc \
  37. ./utils/op_desc_utils.cc \
  38. ./utils/type_utils.cc \
  39. ./utils/tensor_utils.cc \
  40. ./tensor.cc \
  41. ./debug/graph_debug.cc \
  42. ./opsproto/opsproto_manager.cc \
  43. ../ops/op_imp.cpp \
  44. option/ge_context.cc \
  45. option/ge_local_context.cc \
  46. ./runtime_inference_context.cc \
  47. COMMON_LOCAL_C_INCLUDES := \
  48. proto/om.proto \
  49. proto/ge_ir.proto \
  50. proto_inner/ge_onnx.proto \
  51. proto/insert_op.proto \
  52. proto/task.proto \
  53. proto/fwk_adapter.proto \
  54. proto/op_mapping_info.proto \
  55. proto/dump_task.proto \
  56. inc \
  57. inc/external \
  58. inc/external/graph \
  59. inc/graph \
  60. inc/common \
  61. common \
  62. common/graph \
  63. third_party/protobuf/include \
  64. libc_sec/include \
  65. ops/built-in/op_proto/inc \
  66. #compiler for host
  67. include $(CLEAR_VARS)
  68. LOCAL_MODULE := libgraph
  69. LOCAL_CFLAGS += -DFMK_SUPPORT_DUMP -O2
  70. LOCAL_CPPFLAGS += -fexceptions
  71. LOCAL_C_INCLUDES := $(COMMON_LOCAL_C_INCLUDES)
  72. LOCAL_SRC_FILES := $(COMMON_LOCAL_SRC_FILES)
  73. LOCAL_SHARED_LIBRARIES := \
  74. libc_sec \
  75. libprotobuf \
  76. libslog \
  77. liberror_manager \
  78. LOCAL_LDFLAGS := -lrt -ldl
  79. LOCAL_MULTILIB := 64
  80. LOCAL_PROPRIETARY_MODULE := true
  81. include $(BUILD_HOST_SHARED_LIBRARY)
  82. #compiler for host
  83. include $(CLEAR_VARS)
  84. LOCAL_MODULE := stub/libgraph
  85. LOCAL_CFLAGS += -DFMK_SUPPORT_DUMP -O2
  86. LOCAL_CPPFLAGS += -fexceptions
  87. LOCAL_C_INCLUDES := $(COMMON_LOCAL_C_INCLUDES)
  88. LOCAL_SRC_FILES := \
  89. ../../out/graph/lib64/stub/graph.cc \
  90. ../../out/graph/lib64/stub/operator.cc \
  91. ../../out/graph/lib64/stub/tensor.cc \
  92. ../../out/graph/lib64/stub/operator_factory.cc \
  93. LOCAL_SHARED_LIBRARIES :=
  94. LOCAL_LDFLAGS := -lrt -ldl
  95. LOCAL_MULTILIB := 64
  96. LOCAL_PROPRIETARY_MODULE := true
  97. include $(BUILD_HOST_SHARED_LIBRARY)
  98. #compiler for host
  99. include $(CLEAR_VARS)
  100. LOCAL_MODULE := fwk_stub/libgraph
  101. LOCAL_CFLAGS += -DFMK_SUPPORT_DUMP -O2
  102. LOCAL_CPPFLAGS += -fexceptions
  103. LOCAL_C_INCLUDES := $(COMMON_LOCAL_C_INCLUDES)
  104. LOCAL_SRC_FILES := \
  105. ../../out/graph/lib64/stub/attr_value.cc \
  106. ../../out/graph/lib64/stub/graph.cc \
  107. ../../out/graph/lib64/stub/operator.cc \
  108. ../../out/graph/lib64/stub/operator_factory.cc \
  109. ../../out/graph/lib64/stub/tensor.cc \
  110. ../../out/graph/lib64/stub/inference_context.cc \
  111. LOCAL_SHARED_LIBRARIES :=
  112. LOCAL_LDFLAGS := -lrt -ldl
  113. LOCAL_MULTILIB := 64
  114. LOCAL_PROPRIETARY_MODULE := true
  115. include $(BUILD_HOST_SHARED_LIBRARY)
  116. #compiler for device
  117. include $(CLEAR_VARS)
  118. LOCAL_MODULE := libgraph
  119. LOCAL_CFLAGS += -O2
  120. LOCAL_C_INCLUDES := $(COMMON_LOCAL_C_INCLUDES)
  121. LOCAL_SRC_FILES := $(COMMON_LOCAL_SRC_FILES)
  122. LOCAL_SHARED_LIBRARIES := \
  123. libc_sec \
  124. libprotobuf \
  125. libslog \
  126. liberror_manager \
  127. LOCAL_LDFLAGS := -lrt -ldl
  128. ifeq ($(device_os),android)
  129. LOCAL_LDFLAGS := -ldl
  130. endif
  131. LOCAL_MULTILIB := 64
  132. LOCAL_PROPRIETARY_MODULE := true
  133. include $(BUILD_SHARED_LIBRARY)
  134. #compiler for device
  135. include $(CLEAR_VARS)
  136. LOCAL_MODULE := stub/libgraph
  137. LOCAL_CFLAGS += -O2
  138. LOCAL_C_INCLUDES := $(COMMON_LOCAL_C_INCLUDES)
  139. LOCAL_SRC_FILES := \
  140. ../../out/graph/lib64/stub/graph.cc \
  141. ../../out/graph/lib64/stub/operator.cc \
  142. ../../out/graph/lib64/stub/tensor.cc \
  143. ../../out/graph/lib64/stub/operator_factory.cc \
  144. LOCAL_SHARED_LIBRARIES :=
  145. LOCAL_LDFLAGS := -lrt -ldl
  146. ifeq ($(device_os),android)
  147. LOCAL_LDFLAGS := -ldl
  148. endif
  149. LOCAL_MULTILIB := 64
  150. LOCAL_PROPRIETARY_MODULE := true
  151. include $(BUILD_SHARED_LIBRARY)
  152. #compiler for device
  153. include $(CLEAR_VARS)
  154. LOCAL_MODULE := fwk_stub/libgraph
  155. LOCAL_CFLAGS += -O2
  156. LOCAL_C_INCLUDES := $(COMMON_LOCAL_C_INCLUDES)
  157. LOCAL_SRC_FILES := \
  158. ../../out/graph/lib64/stub/attr_value.cc \
  159. ../../out/graph/lib64/stub/graph.cc \
  160. ../../out/graph/lib64/stub/operator.cc \
  161. ../../out/graph/lib64/stub/operator_factory.cc \
  162. ../../out/graph/lib64/stub/tensor.cc \
  163. ../../out/graph/lib64/stub/inference_context.cc \
  164. LOCAL_SHARED_LIBRARIES :=
  165. LOCAL_LDFLAGS := -lrt -ldl
  166. ifeq ($(device_os),android)
  167. LOCAL_LDFLAGS := -ldl
  168. endif
  169. LOCAL_MULTILIB := 64
  170. LOCAL_PROPRIETARY_MODULE := true
  171. include $(BUILD_SHARED_LIBRARY)
  172. # compile for ut/st
  173. include $(CLEAR_VARS)
  174. LOCAL_MODULE := libgraph
  175. LOCAL_CFLAGS +=
  176. LOCAL_C_INCLUDES := $(COMMON_LOCAL_C_INCLUDES)
  177. LOCAL_SRC_FILES := $(COMMON_LOCAL_SRC_FILES)
  178. LOCAL_SHARED_LIBRARIES := \
  179. libc_sec \
  180. libprotobuf \
  181. libslog \
  182. liberror_manager \
  183. LOCAL_LDFLAGS := -lrt -ldl
  184. LOCAL_MULTILIB := 64
  185. LOCAL_PROPRIETARY_MODULE := true
  186. include $(BUILD_LLT_SHARED_LIBRARY)
  187. #compiler for host static lib
  188. include $(CLEAR_VARS)
  189. LOCAL_MODULE := libgraph
  190. LOCAL_CFLAGS += -DFMK_SUPPORT_DUMP -O2
  191. LOCAL_CPPFLAGS += -fexceptions
  192. LOCAL_C_INCLUDES := $(COMMON_LOCAL_C_INCLUDES)
  193. LOCAL_SRC_FILES := $(COMMON_LOCAL_SRC_FILES)
  194. LOCAL_STATIC_LIBRARIES := \
  195. libprotobuf \
  196. LOCAL_SHARED_LIBRARIES := \
  197. libc_sec \
  198. libslog \
  199. liberror_manager \
  200. LOCAL_LDFLAGS := -lrt -ldl
  201. LOCAL_MULTILIB := 64
  202. LOCAL_PROPRIETARY_MODULE := true
  203. include $(BUILD_HOST_STATIC_LIBRARY)
  204. #compiler for device static lib
  205. include $(CLEAR_VARS)
  206. LOCAL_MODULE := libgraph
  207. LOCAL_CFLAGS += -O2
  208. LOCAL_C_INCLUDES := $(COMMON_LOCAL_C_INCLUDES)
  209. LOCAL_SRC_FILES := $(COMMON_LOCAL_SRC_FILES)
  210. LOCAL_STATIC_LIBRARIES := \
  211. libprotobuf \
  212. LOCAL_SHARED_LIBRARIES := \
  213. libc_sec \
  214. libslog \
  215. liberror_manager \
  216. LOCAL_LDFLAGS := -lrt -ldl
  217. LOCAL_MULTILIB := 64
  218. LOCAL_PROPRIETARY_MODULE := true
  219. include $(BUILD_STATIC_LIBRARY)

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