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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. LOCAL_PATH := $(call my-dir)
  2. COMMON_LOCAL_SRC_FILES := \
  3. proto/ge_api.proto \
  4. ge_api.cc \
  5. ge_prof.cc \
  6. COMMON_LOCAL_C_INCLUDES := \
  7. proto/ge_ir.proto \
  8. proto/task.proto \
  9. proto/om.proto \
  10. proto/insert_op.proto \
  11. $(LOCAL_PATH) ./ \
  12. $(LOCAL_PATH)/../ \
  13. $(LOCAL_PATH)/../../ \
  14. $(TOPDIR)inc \
  15. $(TOPDIR)inc/external \
  16. $(TOPDIR)inc/external/graph \
  17. $(TOPDIR)inc/common \
  18. $(TOPDIR)inc/framework \
  19. $(TOPDIR)inc/graph \
  20. $(TOPDIR)libc_sec/include \
  21. $(TOPDIR)ops/built-in/op_proto/inc \
  22. third_party/json/include \
  23. third_party/protobuf/include \
  24. third_party/opencv/include \
  25. DEVICE_LOCAL_C_INCLUDES := \
  26. proto/ge_ir.proto \
  27. proto/task.proto \
  28. proto/om.proto \
  29. proto/insert_op.proto \
  30. $(LOCAL_PATH) ./ \
  31. $(LOCAL_PATH)/../ \
  32. $(LOCAL_PATH)/../../ \
  33. $(TOPDIR)inc \
  34. $(TOPDIR)inc/external \
  35. $(TOPDIR)inc/external/graph \
  36. $(TOPDIR)inc/framework \
  37. $(TOPDIR)inc/common \
  38. $(TOPDIR)inc/graph \
  39. $(TOPDIR)libc_sec/include \
  40. $(TOPDIR)ops/built-in/op_proto/inc \
  41. third_party/json/include \
  42. third_party/protobuf/include \
  43. third_party/opencv/include \
  44. #compiler for host infer
  45. include $(CLEAR_VARS)
  46. LOCAL_MODULE := libge_client
  47. LOCAL_CFLAGS += -Werror
  48. LOCAL_CFLAGS += -DPROTOBUF_INLINE_NOT_IN_HEADERS=0 -DREUSE_MEMORY=1 -Dgoogle=ascend_private
  49. ifeq ($(DEBUG), 1)
  50. LOCAL_CFLAGS += -g -O0
  51. endif
  52. LOCAL_C_INCLUDES := $(COMMON_LOCAL_C_INCLUDES)
  53. LOCAL_SRC_FILES := $(COMMON_LOCAL_SRC_FILES)
  54. LOCAL_SHARED_LIBRARIES := \
  55. libc_sec \
  56. libascend_protobuf \
  57. libslog \
  58. libmmpa \
  59. libgraph \
  60. libregister \
  61. libge_compiler \
  62. libge_common \
  63. libmsprof
  64. LOCAL_LDFLAGS := -lrt -ldl
  65. LOCAL_SHARED_LIBRARIES += \
  66. libruntime \
  67. include $(BUILD_HOST_SHARED_LIBRARY)
  68. #compiler for device
  69. include $(CLEAR_VARS)
  70. LOCAL_MODULE := libge_client
  71. LOCAL_CFLAGS += -Werror
  72. LOCAL_CFLAGS += -DGOOGLE_PROTOBUF_NO_RTTI -DDEV_VISIBILITY
  73. LOCAL_CFLAGS += -DPROTOBUF_INLINE_NOT_IN_HEADERS=0
  74. LOCAL_CFLAGS += -DOMG_DEVICE_VERSION -DREUSE_MEMORY=1 -Dgoogle=ascend_private
  75. LOCAL_MODULE_CLASS := SHARED_LIBRARIES
  76. LOCAL_C_INCLUDES := $(DEVICE_LOCAL_C_INCLUDES)
  77. LOCAL_SRC_FILES := $(COMMON_LOCAL_SRC_FILES)
  78. LOCAL_SHARED_LIBRARIES := \
  79. libc_sec \
  80. libascend_protobuf \
  81. libslog \
  82. libmmpa \
  83. libgraph \
  84. libregister \
  85. libruntime \
  86. libge_compiler \
  87. libge_common \
  88. libmsprof
  89. LOCAL_LDFLAGS := -lrt -ldl
  90. LOCAL_CFLAGS += \
  91. -Wall
  92. include $(BUILD_SHARED_LIBRARY)

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