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.

CMakeLists.txt 1.7 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # Copyright 2019-2020 Huawei Technologies Co., Ltd
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. # ============================================================================
  15. ############ libge_runtime.so ############
  16. set(GE_SRC_LIST
  17. "model_runner.cc"
  18. "runtime_model.cc"
  19. "output.cc"
  20. "task/*.cc"
  21. )
  22. add_library(ge_runtime SHARED ${GE_SRC_LIST})
  23. target_compile_options(ge_runtime PRIVATE
  24. -Werror
  25. -O2
  26. )
  27. target_compile_definitions(ge_runtime PUBLIC
  28. PROTOBUF_INLINE_NOT_IN_HEADERS=0
  29. )
  30. target_include_directories(ge_runtime PRIVATE
  31. ${TOP_DIR}
  32. ${TOP_DIR}/inc
  33. ${TOP_DIR}/inc/graph
  34. ${TOP_DIR}/inc/external
  35. ${TOP_DIR}/inc/framework
  36. ${TOP_DIR}/inc/framework/common
  37. ${TOP_DIR}/inc/framework/ge_runtime
  38. ${TOP_DIR}/inc/cce
  39. ${CMAKE_BINARY_DIR}
  40. ${CMAKE_BINARY_DIR}/proto/ge
  41. )
  42. target_link_libraries(ge_runtime PRIVATE
  43. $<BUILD_INTERFACE:intf_pub>
  44. -Wl,--no-as-needed
  45. graph
  46. slog
  47. runtime
  48. c_sec
  49. -Wl,--as-needed
  50. -lrt
  51. -ldl
  52. )
  53. ############ install ############
  54. set(INSTALL_BASE_DIR "")
  55. set(INSTALL_LIBRARY_DIR lib)
  56. install(TARGETS ge_runtime OPTIONAL
  57. LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}
  58. )

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