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.

dependency_graphengine.cmake 4.7 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. message(STATUS "compiling GraphEngine")
  2. set(GE_SOURCE_DIR ${CMAKE_SOURCE_DIR}/graphengine)
  3. message(STATUS "ge dir: ${GE_SOURCE_DIR}")
  4. include(${GE_SOURCE_DIR}/cmake/ge_utils.cmake)
  5. include(${GE_SOURCE_DIR}/cmake/external_libs/json.cmake)
  6. include(${GE_SOURCE_DIR}/cmake/external_libs/eigen.cmake)
  7. include(${GE_SOURCE_DIR}/cmake/external_libs/gtest.cmake)
  8. include(${GE_SOURCE_DIR}/cmake/external_libs/onnx.cmake)
  9. include(${GE_SOURCE_DIR}/cmake/external_libs/securec.cmake)
  10. if (ENABLE_D)
  11. set(AS_MS_COMP TRUE)
  12. include(${GE_SOURCE_DIR}/cmake/external_libs/protobuf.cmake)
  13. unset(AS_MS_COMP)
  14. else ()
  15. include(${GE_SOURCE_DIR}/cmake/external_libs/protobuf.cmake)
  16. endif ()
  17. # for UT, find slog and error_manager from local prebuild
  18. if (NOT ENABLE_D AND NOT ENABLE_ACL)
  19. set(GE_PREBUILD_PATH ${GE_SOURCE_DIR}/third_party/prebuild/${CMAKE_HOST_SYSTEM_PROCESSOR})
  20. find_library(slog libslog.so ${GE_PREBUILD_PATH})
  21. find_library(error_manager liberror_manager.so ${GE_PREBUILD_PATH})
  22. elseif (DEFINED ENV{D_LINK_PATH})
  23. set(GE_LIB_PATH $ENV{D_LINK_PATH})
  24. set(GE_SYS_ARCH "")
  25. if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
  26. # x86 ubuntu
  27. set(GE_SYS_ARCH "x86_64")
  28. elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
  29. # arm euleros
  30. set(GE_SYS_ARCH "aarch64")
  31. else()
  32. message(FATAL_ERROR "Running on a unsupported architecture: ${SYSTEM_TYPE}, build terminated")
  33. endif()
  34. set(GE_LIB_PATH ${GE_LIB_PATH}/${GE_SYS_ARCH})
  35. find_library(c_sec libc_sec.so ${GE_LIB_PATH})
  36. find_library(slog libslog.so ${GE_LIB_PATH})
  37. find_library(mmpa libmmpa.so ${GE_LIB_PATH})
  38. find_library(runtime libruntime.so ${GE_LIB_PATH})
  39. find_library(msprof libmsprof.so ${GE_LIB_PATH})
  40. find_library(register libregister.so ${GE_LIB_PATH})
  41. find_library(hccl libhccl.so ${GE_LIB_PATH})
  42. find_library(cce libcce.so ${GE_LIB_PATH})
  43. find_library(resource libresource.so ${GE_LIB_PATH})
  44. find_library(error_manager liberror_manager.so ${GE_LIB_PATH})
  45. else()
  46. # Ascend mode
  47. if(DEFINED ENV{ASCEND_CUSTOM_PATH})
  48. set(ASCEND_PATH $ENV{ASCEND_CUSTOM_PATH})
  49. else()
  50. set(ASCEND_PATH /usr/local/Ascend)
  51. endif()
  52. set(ASCEND_DRIVER_PATH ${ASCEND_PATH}/driver/lib64/common ${ASCEND_PATH}/driver/lib64)
  53. set(ASCEND_RUNTIME_PATH ${ASCEND_PATH}/fwkacllib/lib64 ${ASCEND_PATH}/acllib/lib64 ${ASCEND_PATH}/atc/lib64)
  54. find_library(c_sec libc_sec.so ${ASCEND_DRIVER_PATH})
  55. find_library(slog libslog.so ${ASCEND_DRIVER_PATH})
  56. find_library(mmpa libmmpa.so ${ASCEND_DRIVER_PATH})
  57. find_library(cce libcce.so ${ASCEND_RUNTIME_PATH})
  58. find_library(hccl libhccl.so ${ASCEND_RUNTIME_PATH})
  59. find_library(runtime libruntime.so ${ASCEND_RUNTIME_PATH})
  60. find_library(msprof libmsprof.so ${ASCEND_RUNTIME_PATH})
  61. find_library(register libregister.so ${ASCEND_RUNTIME_PATH})
  62. find_library(resource libresource.so ${ASCEND_RUNTIME_PATH})
  63. find_library(error_manager liberror_manager.so ${ASCEND_RUNTIME_PATH})
  64. # for Atlas env
  65. set(ASCEND_TOOLKIT_RUNTIME_PATH ${ASCEND_PATH}/ascend-toolkit/latest/fwkacllib/lib64)
  66. find_library(cce libcce.so ${ASCEND_TOOLKIT_RUNTIME_PATH})
  67. find_library(hccl libhccl.so ${ASCEND_TOOLKIT_RUNTIME_PATH})
  68. find_library(runtime libruntime.so ${ASCEND_TOOLKIT_RUNTIME_PATH})
  69. find_library(msprof libmsprof.so ${ASCEND_TOOLKIT_RUNTIME_PATH})
  70. find_library(register libregister.so ${ASCEND_TOOLKIT_RUNTIME_PATH})
  71. find_library(resource libresource.so ${ASCEND_TOOLKIT_RUNTIME_PATH})
  72. find_library(error_manager liberror_manager.so ${ASCEND_TOOLKIT_RUNTIME_PATH})
  73. endif()
  74. # compile libraries from following directories
  75. # this cmake file is called only when NOT ENABLE_GE is set
  76. set(_ge_tmp_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
  77. string(REPLACE " -Wall" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
  78. string(REPLACE " -Werror" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
  79. # force __FILE__ to show relative path of file, from source directory
  80. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__FILE__='\"$(subst $(realpath ${CMAKE_SOURCE_DIR})/,,$(abspath $<))\"' -Wno-builtin-macro-redefined")
  81. add_subdirectory(${GE_SOURCE_DIR}/src/common/graph)
  82. if (ENABLE_ACL OR ENABLE_D)
  83. add_subdirectory(${GE_SOURCE_DIR}/src/ge/common)
  84. target_compile_definitions(graph PRIVATE google=ascend_private)
  85. set_target_properties(graph PROPERTIES SKIP_BUILD_RPATH TRUE)
  86. if (ENABLE_D)
  87. add_subdirectory(${GE_SOURCE_DIR}/src/ge/ge_runtime)
  88. target_compile_definitions(ge_runtime PRIVATE google=ascend_private)
  89. set_target_properties(ge_runtime PROPERTIES SKIP_BUILD_RPATH TRUE)
  90. endif ()
  91. endif ()
  92. set(CMAKE_CXX_FLAGS ${_ge_tmp_CMAKE_CXX_FLAGS})