|
|
|
@ -12,50 +12,38 @@
|
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
|
# limitations under the License.
|
|
|
|
|
|
|
|
|
|
INCLUDE(ExternalProject)
|
|
|
|
|
|
|
|
|
|
SET(ASCEND_PROJECT "extern_ascend")
|
|
|
|
|
IF((NOT DEFINED ASCEND_VER) OR (NOT DEFINED ASCEND_URL))
|
|
|
|
|
MESSAGE(STATUS "use pre defined download url")
|
|
|
|
|
SET(ASCEND_VER "0.1.1" CACHE STRING "" FORCE)
|
|
|
|
|
SET(ASCEND_NAME "ascend" CACHE STRING "" FORCE)
|
|
|
|
|
SET(ASCEND_URL "http://paddle-ascend.bj.bcebos.com/ascend.tar.gz" CACHE STRING "" FORCE)
|
|
|
|
|
ENDIF()
|
|
|
|
|
MESSAGE(STATUS "ASCEND_NAME: ${ASCEND_NAME}, ASCEND_URL: ${ASCEND_URL}")
|
|
|
|
|
SET(ASCEND_SOURCE_DIR "${THIRD_PARTY_PATH}/ascend")
|
|
|
|
|
SET(ASCEND_DOWNLOAD_DIR "${ASCEND_SOURCE_DIR}/src/${ASCEND_PROJECT}")
|
|
|
|
|
SET(ASCEND_DST_DIR "ascend")
|
|
|
|
|
SET(ASCEND_INSTALL_ROOT "${THIRD_PARTY_PATH}/install")
|
|
|
|
|
SET(ASCEND_INSTALL_DIR ${ASCEND_INSTALL_ROOT}/${ASCEND_DST_DIR})
|
|
|
|
|
SET(ASCEND_ROOT ${ASCEND_INSTALL_DIR})
|
|
|
|
|
SET(ASCEND_INC_DIR ${ASCEND_ROOT}/include)
|
|
|
|
|
SET(ASCEND_LIB_DIR ${ASCEND_ROOT}/lib)
|
|
|
|
|
SET(ASCEND_LIB ${ASCEND_LIB_DIR}/libge_runner.so)
|
|
|
|
|
SET(ASCEND_GRAPH_LIB ${ASCEND_LIB_DIR}/libgraph.so)
|
|
|
|
|
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}" "${ASCEND_ROOT}/lib")
|
|
|
|
|
#NOTE: Logic is from
|
|
|
|
|
# https://github.com/mindspore-ai/graphengine/blob/master/CMakeLists.txt
|
|
|
|
|
if(DEFINED ENV{ASCEND_CUSTOM_PATH})
|
|
|
|
|
set(ASCEND_DIR $ENV{ASCEND_CUSTOM_PATH})
|
|
|
|
|
else()
|
|
|
|
|
set(ASCEND_DIR /usr/local/Ascend)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
INCLUDE_DIRECTORIES(${ASCEND_INC_DIR})
|
|
|
|
|
FILE(WRITE ${ASCEND_DOWNLOAD_DIR}/CMakeLists.txt
|
|
|
|
|
"PROJECT(ASCEND)\n"
|
|
|
|
|
"cmake_minimum_required(VERSION 3.0)\n"
|
|
|
|
|
"install(DIRECTORY ${ASCEND_NAME}/include ${ASCEND_NAME}/lib \n"
|
|
|
|
|
" DESTINATION ${ASCEND_DST_DIR})\n")
|
|
|
|
|
ExternalProject_Add(
|
|
|
|
|
${ASCEND_PROJECT}
|
|
|
|
|
${EXTERNAL_PROJECT_LOG_ARGS}
|
|
|
|
|
PREFIX ${ASCEND_SOURCE_DIR}
|
|
|
|
|
DOWNLOAD_DIR ${ASCEND_DOWNLOAD_DIR}
|
|
|
|
|
DOWNLOAD_COMMAND wget --no-check-certificate ${ASCEND_URL} -c -q -O ${ASCEND_NAME}.tar.gz
|
|
|
|
|
&& tar zxvf ${ASCEND_NAME}.tar.gz
|
|
|
|
|
DOWNLOAD_NO_PROGRESS 1
|
|
|
|
|
UPDATE_COMMAND ""
|
|
|
|
|
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${ASCEND_INSTALL_ROOT}
|
|
|
|
|
CMAKE_CACHE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${ASCEND_INSTALL_ROOT}
|
|
|
|
|
)
|
|
|
|
|
ADD_LIBRARY(ascend SHARED IMPORTED GLOBAL)
|
|
|
|
|
SET_PROPERTY(TARGET ascend PROPERTY IMPORTED_LOCATION ${ASCEND_LIB})
|
|
|
|
|
set(ASCEND_DRIVER_DIR ${ASCEND_DIR}/driver/lib64)
|
|
|
|
|
set(ASCEND_DRIVER_COMMON_DIR ${ASCEND_DIR}/driver/lib64/common)
|
|
|
|
|
set(ASCEND_DRIVER_SHARE_DIR ${ASCEND_DIR}/driver/lib64/share)
|
|
|
|
|
set(ASCEND_RUNTIME_DIR ${ASCEND_DIR}/fwkacllib/lib64)
|
|
|
|
|
set(ASCEND_ATC_DIR ${ASCEND_DIR}/atc/lib64)
|
|
|
|
|
set(ASCEND_ACL_DIR ${ASCEND_DIR}/acllib/lib64)
|
|
|
|
|
set(STATIC_ACL_LIB ${ASCEND_ACL_DIR})
|
|
|
|
|
|
|
|
|
|
ADD_LIBRARY(ascend_graph SHARED IMPORTED GLOBAL)
|
|
|
|
|
SET_PROPERTY(TARGET ascend_graph PROPERTY IMPORTED_LOCATION ${ASCEND_GRAPH_LIB})
|
|
|
|
|
ADD_DEPENDENCIES(ascend ascend_graph ${ASCEND_PROJECT})
|
|
|
|
|
set(ASCEND_MS_RUNTIME_PATH ${ASCEND_RUNTIME_DIR} ${ASCEND_ACL_DIR} ${ASCEND_ATC_DIR})
|
|
|
|
|
set(ASCEND_MS_DRIVER_PATH ${ASCEND_DRIVER_DIR} ${ASCEND_DRIVER_COMMON_DIR})
|
|
|
|
|
set(ATLAS_RUNTIME_DIR ${ASCEND_DIR}/ascend-toolkit/latest/fwkacllib/lib64)
|
|
|
|
|
set(ATLAS_RUNTIME_INC_DIR ${ASCEND_DIR}/ascend-toolkit/latest/fwkacllib/include)
|
|
|
|
|
set(ATLAS_ACL_DIR ${ASCEND_DIR}/ascend-toolkit/latest/acllib/lib64)
|
|
|
|
|
set(ATLAS_ATC_DIR ${ASCEND_DIR}/ascend-toolkit/latest/atc/lib64)
|
|
|
|
|
set(ATLAS_MS_RUNTIME_PATH ${ATLAS_RUNTIME_DIR} ${ATLAS_ACL_DIR} ${ATLAS_ATC_DIR})
|
|
|
|
|
|
|
|
|
|
set(atlas_graph ${ATLAS_RUNTIME_DIR}/libgraph.so)
|
|
|
|
|
set(atlas_ge_runner ${ATLAS_RUNTIME_DIR}/libge_runner.so)
|
|
|
|
|
INCLUDE_DIRECTORIES(${ATLAS_RUNTIME_INC_DIR})
|
|
|
|
|
|
|
|
|
|
ADD_LIBRARY(ascend_ge SHARED IMPORTED GLOBAL)
|
|
|
|
|
SET_PROPERTY(TARGET ascend_ge PROPERTY IMPORTED_LOCATION ${atlas_ge_runner})
|
|
|
|
|
|
|
|
|
|
ADD_LIBRARY(ascend_graph SHARED IMPORTED GLOBAL)
|
|
|
|
|
SET_PROPERTY(TARGET ascend_graph PROPERTY IMPORTED_LOCATION ${atlas_graph})
|
|
|
|
|
add_custom_target(extern_ascend DEPENDS ascend_ge ascend_graph)
|
|
|
|
|