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.1 kB

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

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