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.

module.mk 3.3 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. LOCAL_PATH := $(call my-dir)
  2. local_lib_src_files := memory_assigner.cc \
  3. graph_mem_assigner.cc \
  4. binary_block_mem_assigner.cc \
  5. block_mem_assigner.cc \
  6. hybrid_mem_assigner.cc \
  7. max_block_mem_assigner.cc \
  8. var_mem_assign_util.cc \
  9. local_lib_inc_path := ${LOCAL_PATH} \
  10. ${TOPDIR}inc \
  11. ${TOPDIR}metadef/inc \
  12. ${TOPDIR}graphengine/inc \
  13. ${TOPDIR}inc/external \
  14. ${TOPDIR}metadef/inc/external \
  15. ${TOPDIR}graphengine/inc/external \
  16. ${TOPDIR}metadef/inc/external/graph \
  17. $(TOPDIR)libc_sec/include \
  18. ${TOPDIR}third_party/protobuf/include \
  19. ${TOPDIR}graphengine/inc/framework \
  20. $(TOPDIR)graphengine/ge \
  21. #compiler for host
  22. include $(CLEAR_VARS)
  23. LOCAL_MODULE := libge_memory
  24. LOCAL_CFLAGS += -std=c++11
  25. LOCAL_CFLAGS += -Werror
  26. LOCAL_CFLAGS += -O2 -Dgoogle=ascend_private
  27. ifeq ($(DEBUG), 1)
  28. LOCAL_CFLAGS += -g -O0
  29. endif
  30. LOCAL_LDFLAGS :=
  31. LOCAL_STATIC_LIBRARIES :=
  32. LOCAL_SHARED_LIBRARIES := libascend_protobuf \
  33. libc_sec \
  34. libslog \
  35. libgraph \
  36. libge_common \
  37. LOCAL_SRC_FILES := $(local_lib_src_files)
  38. generated_sources_dir := $(call local-generated-sources-dir)
  39. LOCAL_EXPORT_C_INCLUDE_DIRS := $(generated_sources_dir)/proto/$(LOCAL_PATH)
  40. LOCAL_C_INCLUDES := $(local_lib_inc_path)
  41. LOCAL_C_INCLUDES += LOCAL_EXPORT_C_INCLUDE_DIRS
  42. include ${BUILD_HOST_STATIC_LIBRARY}
  43. #compiler for device
  44. include $(CLEAR_VARS)
  45. LOCAL_MODULE := libge_memory
  46. LOCAL_CFLAGS += -std=c++11
  47. LOCAL_CFLAGS += -Werror
  48. LOCAL_CFLAGS += -DGOOGLE_PROTOBUF_NO_RTTI -DDEV_VISIBILITY
  49. LOCAL_CFLAGS += -O2 -Dgoogle=ascend_private
  50. LOCAL_LDFLAGS :=
  51. LOCAL_STATIC_LIBRARIES :=
  52. LOCAL_SHARED_LIBRARIES := libascend_protobuf \
  53. libc_sec \
  54. libslog \
  55. libgraph \
  56. libge_common \
  57. LOCAL_SRC_FILES := $(local_lib_src_files)
  58. generated_sources_dir := $(call local-generated-sources-dir)
  59. LOCAL_EXPORT_C_INCLUDE_DIRS := $(generated_sources_dir)/proto/$(LOCAL_PATH)
  60. LOCAL_C_INCLUDES := $(local_lib_inc_path)
  61. LOCAL_C_INCLUDES += LOCAL_EXPORT_C_INCLUDE_DIRS
  62. include ${BUILD_STATIC_LIBRARY}
  63. #compiler for device
  64. include $(CLEAR_VARS)
  65. LOCAL_MODULE := libge_memory
  66. LOCAL_CFLAGS += -std=c++11 -Dgoogle=ascend_private
  67. LOCAL_LDFLAGS :=
  68. LOCAL_STATIC_LIBRARIES :=
  69. LOCAL_SHARED_LIBRARIES := libascend_protobuf \
  70. libc_sec \
  71. libslog \
  72. libgraph \
  73. libge_common \
  74. LOCAL_SRC_FILES := $(local_lib_src_files)
  75. generated_sources_dir := $(call local-generated-sources-dir)
  76. LOCAL_EXPORT_C_INCLUDE_DIRS := $(generated_sources_dir)/proto/$(LOCAL_PATH)
  77. LOCAL_C_INCLUDES := $(local_lib_inc_path)
  78. LOCAL_C_INCLUDES += LOCAL_EXPORT_C_INCLUDE_DIRS
  79. include ${BUILD_LLT_STATIC_LIBRARY}

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