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

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. cmake_minimum_required(VERSION 3.14)
  2. project (GraphEngine[CXX])
  3. set(GE_CODE_DIR ${CMAKE_CURRENT_LIST_DIR})
  4. if (NOT BUILD_PATH)
  5. set(BUILD_PATH "${CMAKE_SOURCE_DIR}/build")
  6. endif()
  7. option(ENABLE_OPEN_SRC "Enable graphengine compile in opensource." FALSE)
  8. if (ENABLE_OPEN_SRC)
  9. set(HI_PYTHON python3.7)
  10. include(cmake/external_libs/protobuf_shared.cmake)
  11. include(cmake/external_libs/protoc.cmake)
  12. include(cmake/external_libs/gflags.cmake)
  13. include(cmake/external_libs/securec.cmake)
  14. include(cmake/external_libs/json.cmake)
  15. include(cmake/FindModule.cmake)
  16. include(cmake/intf_pub_linux.cmake)
  17. if(DEFINED ENV{ASCEND_CUSTOM_PATH})
  18. set(ASCEND_DIR $ENV{ASCEND_CUSTOM_PATH})
  19. else()
  20. set(ASCEND_DIR /usr/local/Ascend)
  21. endif()
  22. set(ASCEND_DRIVER_DIR ${ASCEND_DIR}/driver/lib64/common)
  23. set(ASCEND_RUNTIME_DIR ${ASCEND_DIR}/fwkacllib/lib64)
  24. find_module(slog libslog.so ${ASCEND_DRIVER_DIR})
  25. find_module(mmpa libmmpa.so ${ASCEND_DRIVER_DIR})
  26. find_module(msprof libmsprof.so ${ASCEND_DRIVER_DIR})
  27. find_module(hccl libhccl.so ${ASCEND_RUNTIME_DIR})
  28. find_module(adump_server libadump_server.a ${ASCEND_RUNTIME_DIR})
  29. find_module(runtime libruntime.so ${ASCEND_RUNTIME_DIR})
  30. find_module(runtime_compile libruntime_compile.so ${ASCEND_RUNTIME_DIR})
  31. find_module(resource libresource.so ${ASCEND_RUNTIME_DIR})
  32. find_module(error_manager liberror_manager.so ${ASCEND_RUNTIME_DIR})
  33. find_module(ascend_hal_stub libascend_hal.so ${ASCEND_DRIVER_DIR})
  34. set(METADEF_DIR ${CMAKE_CURRENT_LIST_DIR}/metadef)
  35. set(PARSER_DIR ${CMAKE_CURRENT_LIST_DIR}/parser)
  36. set(GE_DEPEND_DIR ${CMAKE_CURRENT_LIST_DIR}/..)
  37. add_subdirectory(metadef)
  38. #add_subdirectory(metadef/graph)
  39. #add_subdirectory(metadef/register)
  40. else()
  41. set(METADEF_DIR ${CMAKE_CURRENT_LIST_DIR}/../metadef)
  42. set(PARSER_DIR ${CMAKE_CURRENT_LIST_DIR}/../parser)
  43. set(GE_DEPEND_DIR ${CMAKE_CURRENT_LIST_DIR}/..)
  44. endif()
  45. add_subdirectory(ge)

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