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

5 years ago
5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. LOCAL_PATH := $(call my-dir)
  2. local_lib_src_files := engine/host_cpu_engine.cc \
  3. ops_kernel_store/host_cpu_ops_kernel_info.cc \
  4. ops_kernel_store/op/op_factory.cc \
  5. ops_kernel_store/op/host_op.cc \
  6. local_lib_inc_path := proto/task.proto \
  7. ${LOCAL_PATH} \
  8. ${TOPDIR}inc \
  9. ${TOPDIR}inc/external \
  10. ${TOPDIR}inc/external/graph \
  11. $(TOPDIR)libc_sec/include \
  12. ${TOPDIR}third_party/protobuf/include \
  13. ${TOPDIR}inc/framework \
  14. $(TOPDIR)framework/domi \
  15. #compiler for host
  16. include $(CLEAR_VARS)
  17. LOCAL_MODULE := libhost_cpu_engine
  18. LOCAL_CFLAGS += -Werror
  19. LOCAL_CFLAGS += -std=c++11
  20. LOCAL_LDFLAGS :=
  21. LOCAL_STATIC_LIBRARIES :=
  22. LOCAL_SHARED_LIBRARIES := libprotobuf \
  23. libc_sec \
  24. libslog \
  25. libgraph \
  26. libregister \
  27. libruntime
  28. LOCAL_SRC_FILES := $(local_lib_src_files)
  29. LOCAL_C_INCLUDES := $(local_lib_inc_path)
  30. include ${BUILD_HOST_SHARED_LIBRARY}
  31. #compiler for atc
  32. include $(CLEAR_VARS)
  33. LOCAL_MODULE := atclib/libhost_cpu_engine
  34. LOCAL_CFLAGS += -Werror
  35. LOCAL_CFLAGS += -std=c++11 -DCOMPILE_OMG_PACKAGE
  36. LOCAL_LDFLAGS :=
  37. LOCAL_STATIC_LIBRARIES :=
  38. LOCAL_SHARED_LIBRARIES := libprotobuf \
  39. libc_sec \
  40. libslog \
  41. libgraph \
  42. libregister \
  43. libruntime_compile
  44. LOCAL_SRC_FILES := $(local_lib_src_files)
  45. LOCAL_C_INCLUDES := $(local_lib_inc_path)
  46. include ${BUILD_HOST_SHARED_LIBRARY}
  47. #compiler for host ops kernel builder
  48. include $(CLEAR_VARS)
  49. LOCAL_MODULE := libhost_cpu_opskernel_builder
  50. LOCAL_CFLAGS += -Werror
  51. LOCAL_CFLAGS += -std=c++11
  52. LOCAL_LDFLAGS :=
  53. LOCAL_STATIC_LIBRARIES :=
  54. LOCAL_SHARED_LIBRARIES := libprotobuf \
  55. libc_sec \
  56. libslog \
  57. libgraph \
  58. libregister \
  59. LOCAL_SRC_FILES := ops_kernel_store/host_cpu_ops_kernel_builder.cc
  60. LOCAL_C_INCLUDES := $(local_lib_inc_path)
  61. include ${BUILD_HOST_SHARED_LIBRARY}
  62. #compiler for host static lib
  63. include $(CLEAR_VARS)
  64. LOCAL_MODULE := libhost_cpu_opskernel_builder
  65. LOCAL_CFLAGS += -Werror
  66. LOCAL_CFLAGS += -std=c++11
  67. LOCAL_LDFLAGS :=
  68. LOCAL_STATIC_LIBRARIES := libprotobuf \
  69. libgraph \
  70. libregister \
  71. LOCAL_SHARED_LIBRARIES := libc_sec \
  72. libslog \
  73. LOCAL_SRC_FILES := ops_kernel_store/host_cpu_ops_kernel_builder.cc
  74. LOCAL_C_INCLUDES := $(local_lib_inc_path)
  75. include ${BUILD_HOST_STATIC_LIBRARY}
  76. #compiler for device static lib
  77. include $(CLEAR_VARS)
  78. LOCAL_MODULE := libhost_cpu_opskernel_builder
  79. LOCAL_CFLAGS += -Werror
  80. LOCAL_CFLAGS += -std=c++11
  81. LOCAL_LDFLAGS :=
  82. LOCAL_STATIC_LIBRARIES := libprotobuf \
  83. libgraph \
  84. libregister \
  85. LOCAL_SHARED_LIBRARIES := libc_sec \
  86. libslog \
  87. LOCAL_SRC_FILES := ops_kernel_store/host_cpu_ops_kernel_builder.cc
  88. LOCAL_C_INCLUDES := $(local_lib_inc_path)
  89. include ${BUILD_STATIC_LIBRARY}
  90. #compiler for atc ops kernel builder
  91. include $(CLEAR_VARS)
  92. LOCAL_MODULE := atclib/libhost_cpu_opskernel_builder
  93. LOCAL_CFLAGS += -Werror
  94. LOCAL_CFLAGS += -std=c++11
  95. LOCAL_LDFLAGS :=
  96. LOCAL_STATIC_LIBRARIES :=
  97. LOCAL_SHARED_LIBRARIES := libprotobuf \
  98. libc_sec \
  99. libslog \
  100. libgraph \
  101. libregister \
  102. LOCAL_SRC_FILES := ops_kernel_store/host_cpu_ops_kernel_builder.cc
  103. LOCAL_C_INCLUDES := $(local_lib_inc_path)
  104. include ${BUILD_HOST_SHARED_LIBRARY}

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