diff --git a/CMakeLists.txt b/CMakeLists.txt index b724259f147..3e98eae5eb8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,7 +71,7 @@ set(MS_CCSRC_PATH ${CMAKE_SOURCE_DIR}/mindspore/ccsrc) set(MS_CCSRC_BUILD_PATH ${BUILD_PATH}/mindspore/mindspore/ccsrc) if (ENABLE_D OR ENABLE_ACL OR ENABLE_TESTCASES) - include(${CMAKE_SOURCE_DIR}/cmake/dependency_graphenginev2.cmake) + include(${CMAKE_SOURCE_DIR}/cmake/dependency_graphengine.cmake) endif () set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden") diff --git a/cmake/dependency_graphengine.cmake b/cmake/dependency_graphengine.cmake index 23fb53cfaef..1af0604f1f6 100644 --- a/cmake/dependency_graphengine.cmake +++ b/cmake/dependency_graphengine.cmake @@ -1,94 +1,39 @@ -message(STATUS "compiling GraphEngine") +message(STATUS "Compiling GraphEngine") set(GE_SOURCE_DIR ${CMAKE_SOURCE_DIR}/graphengine) -message(STATUS "ge dir: ${GE_SOURCE_DIR}") -include(${GE_SOURCE_DIR}/cmake/ge_utils.cmake) -include(${GE_SOURCE_DIR}/cmake/external_libs/json.cmake) -include(${GE_SOURCE_DIR}/cmake/external_libs/eigen.cmake) -include(${GE_SOURCE_DIR}/cmake/external_libs/gtest.cmake) -include(${GE_SOURCE_DIR}/cmake/external_libs/onnx.cmake) -include(${GE_SOURCE_DIR}/cmake/external_libs/securec.cmake) -if (ENABLE_D) - set(AS_MS_COMP TRUE) - include(${GE_SOURCE_DIR}/cmake/external_libs/protobuf.cmake) - unset(AS_MS_COMP) -else () - include(${GE_SOURCE_DIR}/cmake/external_libs/protobuf.cmake) -endif () -# for UT, find slog and error_manager from local prebuild -if (NOT ENABLE_D AND NOT ENABLE_ACL) - set(GE_PREBUILD_PATH ${GE_SOURCE_DIR}/third_party/prebuild/${CMAKE_HOST_SYSTEM_PROCESSOR}) - find_library(slog libslog.so ${GE_PREBUILD_PATH}) - find_library(error_manager liberror_manager.so ${GE_PREBUILD_PATH}) - find_library(mmpa libmmpa.a ${GE_PREBUILD_PATH}) -elseif (DEFINED ENV{D_LINK_PATH}) - set(GE_LIB_PATH $ENV{D_LINK_PATH}) - set(GE_SYS_ARCH "") - if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64") - # x86 ubuntu - set(GE_SYS_ARCH "x86_64") - elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64") - # arm euleros - set(GE_SYS_ARCH "aarch64") - else() - message(FATAL_ERROR "Running on a unsupported architecture: ${SYSTEM_TYPE}, build terminated") +message(STATUS "[ME] build_path: ${BUILD_PATH}") + +function(find_submodule_lib module name path) + find_library(${module}_LIBRARY_DIR NAMES ${name} NAMES_PER_DIR PATHS ${path} + PATH_SUFFIXES lib + ) + if ("${${module}_LIBRARY_DIR}" STREQUAL "${module}_LIBRARY_DIR-NOTFOUND") + message(FATAL_ERROR "${name} not found in any of following paths: ${path}") endif() - set(GE_LIB_PATH ${GE_LIB_PATH}/${GE_SYS_ARCH}) - find_library(c_sec libc_sec.so ${GE_LIB_PATH}) - find_library(slog libslog.so ${GE_LIB_PATH}) - find_library(mmpa libmmpa.a ${GE_LIB_PATH}) - find_library(runtime libruntime.so ${GE_LIB_PATH}) - find_library(register libregister.so ${GE_LIB_PATH}) - find_library(hccl libhccl.so ${GE_LIB_PATH}) - find_library(cce libcce.so ${GE_LIB_PATH}) - find_library(resource libresource.so ${GE_LIB_PATH}) - find_library(error_manager liberror_manager.so ${GE_LIB_PATH}) + add_library(${module} SHARED IMPORTED) + set_target_properties(${module} PROPERTIES + IMPORTED_LOCATION ${${module}_LIBRARY_DIR} + ) +endfunction() + +if (ENABLE_D OR ENABLE_ACL OR ENABLE_TESTCASES) + set(_ge_tmp_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) + set(_ge_tmp_ENABLE_GITEE ${ENABLE_GITEE}) + set(ENABLE_GITEE ON) + set(CMAKE_INSTALL_PREFIX ${BUILD_PATH}/graphengine) + + if (ENABLE_TESTCASES) + # use slog, error manager, mmpa in non ascend mode, e.g. tests + set(GE_PREBUILD_PATH ${GE_SOURCE_DIR}/third_party/prebuild/${CMAKE_HOST_SYSTEM_PROCESSOR}) + set(ENABLE_MS_TESTCASES TRUE) + find_submodule_lib(slog libalog.so ${GE_PREBUILD_PATH}) + find_submodule_lib(error_manager liberror_manager.so ${GE_PREBUILD_PATH}) + find_submodule_lib(static_mmpa libmmpa.a ${GE_PREBUILD_PATH}) + endif() + + add_subdirectory(${GE_SOURCE_DIR}) + set(CMAKE_INSTALL_PREFIX ${_ge_tmp_CMAKE_INSTALL_PREFIX}) + set(ENABLE_GITEE ${_ge_tmp_ENABLE_GITEE}) else() - # Ascend mode - if(DEFINED ENV{ASCEND_CUSTOM_PATH}) - set(ASCEND_PATH $ENV{ASCEND_CUSTOM_PATH}) - else() - set(ASCEND_PATH /usr/local/Ascend) - endif() - set(ASCEND_DRIVER_PATH ${ASCEND_PATH}/driver/lib64/common ${ASCEND_PATH}/driver/lib64) - set(ASCEND_RUNTIME_PATH ${ASCEND_PATH}/fwkacllib/lib64 ${ASCEND_PATH}/acllib/lib64 ${ASCEND_PATH}/atc/lib64) - find_library(c_sec libc_sec.so ${ASCEND_DRIVER_PATH}) - find_library(slog libslog.so ${ASCEND_DRIVER_PATH}) - find_library(mmpa libmmpa.a ${ASCEND_RUNTIME_PATH}) - find_library(cce libcce.so ${ASCEND_RUNTIME_PATH}) - find_library(hccl libhccl.so ${ASCEND_RUNTIME_PATH}) - find_library(runtime libruntime.so ${ASCEND_RUNTIME_PATH}) - find_library(register libregister.so ${ASCEND_RUNTIME_PATH}) - find_library(resource libresource.so ${ASCEND_RUNTIME_PATH}) - find_library(error_manager liberror_manager.so ${ASCEND_RUNTIME_PATH}) - # for Atlas env - set(ASCEND_TOOLKIT_RUNTIME_PATH ${ASCEND_PATH}/ascend-toolkit/latest/fwkacllib/lib64) - find_library(cce libcce.so ${ASCEND_TOOLKIT_RUNTIME_PATH}) - find_library(hccl libhccl.so ${ASCEND_TOOLKIT_RUNTIME_PATH}) - find_library(runtime libruntime.so ${ASCEND_TOOLKIT_RUNTIME_PATH}) - find_library(register libregister.so ${ASCEND_TOOLKIT_RUNTIME_PATH}) - find_library(resource libresource.so ${ASCEND_TOOLKIT_RUNTIME_PATH}) - find_library(error_manager liberror_manager.so ${ASCEND_TOOLKIT_RUNTIME_PATH}) + message(FATAL_ERROR "No compile option defined for GraphEngine, exiting") endif() - -# compile libraries from following directories -# this cmake file is called only when NOT ENABLE_GE is set -set(_ge_tmp_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) - -string(REPLACE " -Wall" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -string(REPLACE " -Werror" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -# force __FILE__ to show relative path of file, from source directory -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__FILE__='\"$(subst $(realpath ${CMAKE_SOURCE_DIR})/,,$(abspath $<))\"' -Wno-builtin-macro-redefined") -add_subdirectory(${GE_SOURCE_DIR}/src/common/graph) -if (ENABLE_ACL OR ENABLE_D) - add_subdirectory(${GE_SOURCE_DIR}/src/ge/common) - target_compile_definitions(graph PRIVATE google=ascend_private) - set_target_properties(graph PROPERTIES SKIP_BUILD_RPATH TRUE) - if (ENABLE_D) - add_subdirectory(${GE_SOURCE_DIR}/src/ge/ge_runtime) - target_compile_definitions(ge_runtime PRIVATE google=ascend_private) - set_target_properties(ge_runtime PROPERTIES SKIP_BUILD_RPATH TRUE) - endif () -endif () - -set(CMAKE_CXX_FLAGS ${_ge_tmp_CMAKE_CXX_FLAGS}) diff --git a/cmake/dependency_graphenginev2.cmake b/cmake/dependency_graphenginev2.cmake deleted file mode 100644 index 1af0604f1f6..00000000000 --- a/cmake/dependency_graphenginev2.cmake +++ /dev/null @@ -1,39 +0,0 @@ -message(STATUS "Compiling GraphEngine") -set(GE_SOURCE_DIR ${CMAKE_SOURCE_DIR}/graphengine) - -message(STATUS "[ME] build_path: ${BUILD_PATH}") - -function(find_submodule_lib module name path) - find_library(${module}_LIBRARY_DIR NAMES ${name} NAMES_PER_DIR PATHS ${path} - PATH_SUFFIXES lib - ) - if ("${${module}_LIBRARY_DIR}" STREQUAL "${module}_LIBRARY_DIR-NOTFOUND") - message(FATAL_ERROR "${name} not found in any of following paths: ${path}") - endif() - add_library(${module} SHARED IMPORTED) - set_target_properties(${module} PROPERTIES - IMPORTED_LOCATION ${${module}_LIBRARY_DIR} - ) -endfunction() - -if (ENABLE_D OR ENABLE_ACL OR ENABLE_TESTCASES) - set(_ge_tmp_CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) - set(_ge_tmp_ENABLE_GITEE ${ENABLE_GITEE}) - set(ENABLE_GITEE ON) - set(CMAKE_INSTALL_PREFIX ${BUILD_PATH}/graphengine) - - if (ENABLE_TESTCASES) - # use slog, error manager, mmpa in non ascend mode, e.g. tests - set(GE_PREBUILD_PATH ${GE_SOURCE_DIR}/third_party/prebuild/${CMAKE_HOST_SYSTEM_PROCESSOR}) - set(ENABLE_MS_TESTCASES TRUE) - find_submodule_lib(slog libalog.so ${GE_PREBUILD_PATH}) - find_submodule_lib(error_manager liberror_manager.so ${GE_PREBUILD_PATH}) - find_submodule_lib(static_mmpa libmmpa.a ${GE_PREBUILD_PATH}) - endif() - - add_subdirectory(${GE_SOURCE_DIR}) - set(CMAKE_INSTALL_PREFIX ${_ge_tmp_CMAKE_INSTALL_PREFIX}) - set(ENABLE_GITEE ${_ge_tmp_ENABLE_GITEE}) -else() - message(FATAL_ERROR "No compile option defined for GraphEngine, exiting") -endif()