Merge pull request !543 from dengwentao/fix_tvmtags/v0.2.0-alpha
| @@ -1,8 +1,6 @@ | |||||
| cmake_minimum_required(VERSION 3.14) | cmake_minimum_required(VERSION 3.14) | ||||
| project (MindSpore) | project (MindSpore) | ||||
| include(${CMAKE_SOURCE_DIR}/cmake/options.cmake) | include(${CMAKE_SOURCE_DIR}/cmake/options.cmake) | ||||
| set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/") | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/") | ||||
| if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") | if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") | ||||
| @@ -1,4 +1,4 @@ | |||||
| mindspore_add_pkg(dmlc_core | |||||
| mindspore_add_pkg(dmlc-core | |||||
| VER 0.3 | VER 0.3 | ||||
| HEAD_ONLY ./ | HEAD_ONLY ./ | ||||
| URL https://github.com/dmlc/dmlc-core/archive/808f485387f9a03f78fa9f1159f387d0d91b7a28.zip | URL https://github.com/dmlc/dmlc-core/archive/808f485387f9a03f78fa9f1159f387d0d91b7a28.zip | ||||
| @@ -2,7 +2,14 @@ set(incubator_tvm_gpu_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2") | |||||
| set(incubator_tvm_gpu_CFLAGS "-D_FORTIFY_SOURCE=2 -O2") | set(incubator_tvm_gpu_CFLAGS "-D_FORTIFY_SOURCE=2 -O2") | ||||
| mindspore_add_pkg(incubator_tvm_gpu | mindspore_add_pkg(incubator_tvm_gpu | ||||
| VER 0.6.0 | VER 0.6.0 | ||||
| HEAD_ONLY ./ | |||||
| LIBS tvm | |||||
| URL https://github.com/apache/incubator-tvm/archive/v0.6.0.tar.gz | URL https://github.com/apache/incubator-tvm/archive/v0.6.0.tar.gz | ||||
| MD5 9cbbd32545a776023acabbba270449fe) | |||||
| MD5 9cbbd32545a776023acabbba270449fe | |||||
| CUSTOM_CMAKE ${CMAKE_SOURCE_DIR}/third_party/patch/incubator-tvm/ | |||||
| SUBMODULES ${dlpack_DIRPATH} ${dmlc-core_DIRPATH} ${rang_DIRPATH} | |||||
| SOURCEMODULES topi/python/topi python/tvm | |||||
| PATCHES ${CMAKE_SOURCE_DIR}/third_party/patch/incubator-tvm/find_library.patch | |||||
| ${CMAKE_SOURCE_DIR}/third_party/patch/incubator-tvm/include.patch | |||||
| ${CMAKE_SOURCE_DIR}/third_party/patch/incubator-tvm/src_pass.patch | |||||
| CMAKE_OPTION " ") | |||||
| add_library(mindspore::tvm ALIAS incubator_tvm_gpu::tvm) | |||||
| @@ -191,11 +191,17 @@ if (ENABLE_GPU) | |||||
| DESTINATION ${INSTALL_PY_DIR}/../ | DESTINATION ${INSTALL_PY_DIR}/../ | ||||
| COMPONENT mindspore | COMPONENT mindspore | ||||
| ) | ) | ||||
| if (EXISTS ${CMAKE_BINARY_DIR}/incubator-tvm) | |||||
| if (EXISTS ${incubator_tvm_gpu_ROOT}) | |||||
| file(GLOB_RECURSE GLOG_LIB_LIST ${incubator_tvm_gpu_LIBPATH}/lib*) | |||||
| install( | |||||
| FILES ${GLOG_LIB_LIST} | |||||
| DESTINATION ${INSTALL_LIB_DIR} | |||||
| COMPONENT mindspore | |||||
| ) | |||||
| install( | install( | ||||
| DIRECTORY | DIRECTORY | ||||
| ${CMAKE_BINARY_DIR}/incubator-tvm/topi/python/topi | |||||
| ${CMAKE_BINARY_DIR}/incubator-tvm/python/tvm | |||||
| ${incubator_tvm_gpu_ROOT}/topi/python/topi | |||||
| ${incubator_tvm_gpu_ROOT}/python/tvm | |||||
| DESTINATION ${INSTALL_PY_DIR}/../_akg | DESTINATION ${INSTALL_PY_DIR}/../_akg | ||||
| COMPONENT mindspore | COMPONENT mindspore | ||||
| ) | ) | ||||
| @@ -205,8 +205,8 @@ set(MS_FIND_NO_DEFAULT_PATH ${MS_FIND_NO_DEFAULT_PATH} PARENT_SCOPE) | |||||
| function(mindspore_add_pkg pkg_name ) | function(mindspore_add_pkg pkg_name ) | ||||
| set(options ) | set(options ) | ||||
| set(oneValueArgs URL MD5 GIT_REPOSITORY GIT_TAG VER EXE DIR HEAD_ONLY CMAKE_PATH RELEASE LIB_PATH) | |||||
| set(multiValueArgs CMAKE_OPTION LIBS PRE_CONFIGURE_COMMAND CONFIGURE_COMMAND BUILD_OPTION INSTALL_INCS INSTALL_LIBS PATCHES) | |||||
| set(oneValueArgs URL MD5 GIT_REPOSITORY GIT_TAG VER EXE DIR HEAD_ONLY CMAKE_PATH RELEASE LIB_PATH CUSTOM_CMAKE) | |||||
| set(multiValueArgs CMAKE_OPTION LIBS PRE_CONFIGURE_COMMAND CONFIGURE_COMMAND BUILD_OPTION INSTALL_INCS INSTALL_LIBS PATCHES SUBMODULES SOURCEMODULES) | |||||
| cmake_parse_arguments(PKG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) | cmake_parse_arguments(PKG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) | ||||
| if (NOT PKG_LIB_PATH) | if (NOT PKG_LIB_PATH) | ||||
| @@ -270,11 +270,17 @@ function(mindspore_add_pkg pkg_name ) | |||||
| endif () | endif () | ||||
| if (NOT PKG_DIR) | if (NOT PKG_DIR) | ||||
| if (PKG_GIT_REPOSITORY) | |||||
| __download_pkg_with_git(${pkg_name} ${PKG_GIT_REPOSITORY} ${PKG_GIT_TAG} ${PKG_MD5}) | |||||
| else() | |||||
| if (PKG_GIT_REPOSITORY) | |||||
| __download_pkg_with_git(${pkg_name} ${PKG_GIT_REPOSITORY} ${PKG_GIT_TAG} ${PKG_MD5}) | |||||
| else() | |||||
| __download_pkg(${pkg_name} ${PKG_URL} ${PKG_MD5}) | __download_pkg(${pkg_name} ${PKG_URL} ${PKG_MD5}) | ||||
| endif() | |||||
| endif() | |||||
| foreach(_SUBMODULE_FILE ${PKG_SUBMODULES}) | |||||
| STRING( REGEX REPLACE "(.+)_(.+)" "\\1" _SUBMODEPATH ${_SUBMODULE_FILE}) | |||||
| STRING( REGEX REPLACE "(.+)/(.+)" "\\2" _SUBMODENAME ${_SUBMODEPATH}) | |||||
| file(GLOB ${pkg_name}_INSTALL_SUBMODULE ${_SUBMODULE_FILE}/*) | |||||
| file(COPY ${${pkg_name}_INSTALL_SUBMODULE} DESTINATION ${${pkg_name}_SOURCE_DIR}/3rdparty/${_SUBMODENAME}) | |||||
| endforeach (_SUBMODULE_FILE) | |||||
| else() | else() | ||||
| set(${pkg_name}_SOURCE_DIR ${PKG_DIR}) | set(${pkg_name}_SOURCE_DIR ${PKG_DIR}) | ||||
| endif () | endif () | ||||
| @@ -294,12 +300,20 @@ function(mindspore_add_pkg pkg_name ) | |||||
| message(FATAL_ERROR "Failed patch: ${_LF_PATCH_FILE}") | message(FATAL_ERROR "Failed patch: ${_LF_PATCH_FILE}") | ||||
| endif() | endif() | ||||
| endforeach(_PATCH_FILE) | endforeach(_PATCH_FILE) | ||||
| foreach(_SOURCE_DIR ${PKG_SOURCEMODULES}) | |||||
| file(GLOB ${pkg_name}_INSTALL_SOURCE ${${pkg_name}_SOURCE_DIR}/${_SOURCE_DIR}/*) | |||||
| file(COPY ${${pkg_name}_INSTALL_SOURCE} DESTINATION ${${pkg_name}_BASE_DIR}/${_SOURCE_DIR}/) | |||||
| endforeach (_SUBMODULE_FILE) | |||||
| file(LOCK ${${pkg_name}_BASE_DIR} DIRECTORY GUARD FUNCTION RESULT_VARIABLE ${pkg_name}_LOCK_RET TIMEOUT 600) | file(LOCK ${${pkg_name}_BASE_DIR} DIRECTORY GUARD FUNCTION RESULT_VARIABLE ${pkg_name}_LOCK_RET TIMEOUT 600) | ||||
| if(NOT ${pkg_name}_LOCK_RET EQUAL "0") | if(NOT ${pkg_name}_LOCK_RET EQUAL "0") | ||||
| message(FATAL_ERROR "error! when try lock ${${pkg_name}_BASE_DIR} : ${${pkg_name}_LOCK_RET}") | message(FATAL_ERROR "error! when try lock ${${pkg_name}_BASE_DIR} : ${${pkg_name}_LOCK_RET}") | ||||
| endif() | endif() | ||||
| if (PKG_CUSTOM_CMAKE) | |||||
| file(GLOB ${pkg_name}_cmake ${PKG_CUSTOM_CMAKE}/CMakeLists.txt) | |||||
| file(COPY ${${pkg_name}_cmake} DESTINATION ${${pkg_name}_SOURCE_DIR}) | |||||
| endif () | |||||
| if(${pkg_name}_SOURCE_DIR) | if(${pkg_name}_SOURCE_DIR) | ||||
| if (PKG_HEAD_ONLY) | if (PKG_HEAD_ONLY) | ||||
| file(GLOB ${pkg_name}_SOURCE_SUBDIRS ${${pkg_name}_SOURCE_DIR}/*) | file(GLOB ${pkg_name}_SOURCE_SUBDIRS ${${pkg_name}_SOURCE_DIR}/*) | ||||
| @@ -394,117 +394,6 @@ if(USE_GLOG) | |||||
| target_link_libraries(_c_expression PRIVATE mindspore::glog) | target_link_libraries(_c_expression PRIVATE mindspore::glog) | ||||
| endif() | endif() | ||||
| if(ENABLE_GPU) | |||||
| execute_process(COMMAND bash ${CMAKE_SOURCE_DIR}/third_party/apply_patches.sh | |||||
| ${CMAKE_BINARY_DIR} | |||||
| ${dlpack_DIRPATH} | |||||
| ${dmlc_core_DIRPATH} | |||||
| ${rang_DIRPATH} | |||||
| ${incubator_tvm_gpu_DIRPATH}) | |||||
| set(TVM_DIR "${CMAKE_BINARY_DIR}/incubator-tvm") | |||||
| # Utility functions | |||||
| include(${TVM_DIR}/cmake/util/Util.cmake) | |||||
| include(${TVM_DIR}/cmake/util/FindCUDA.cmake) | |||||
| # include directories | |||||
| include_directories(AFTER "${TVM_DIR}/include") | |||||
| include_directories(AFTER "${TVM_DIR}/src") | |||||
| include_directories(AFTER "${TVM_DIR}") | |||||
| include_directories(AFTER "${TVM_DIR}/src/schedule") | |||||
| include_directories(AFTER "${TVM_DIR}/3rdparty/dmlc-core/include") | |||||
| include_directories(AFTER "${TVM_DIR}/3rdparty/dlpack/include") | |||||
| include_directories(AFTER "${TVM_DIR}/3rdparty/compiler-rt") | |||||
| include_directories(AFTER "${TVM_DIR}/3rdparty/rang/include") | |||||
| # lib contain dlopen and dlclose | |||||
| set(TVM_RUNTIME_LINKER_LIBS ${CMAKE_DL_LIBS}) | |||||
| # add source group | |||||
| file(GLOB_RECURSE GROUP_SOURCE "${TVM_DIR}/src/*.cc" "src/*.cc") | |||||
| file(GLOB_RECURSE GROUP_INCLUDE "${TVM_DIR}/src/*.h" | |||||
| "${TVM_DIR}/include/*.h" "src/*.h" "include/*.h") | |||||
| assign_source_group("Source" ${GROUP_SOURCE}) | |||||
| assign_source_group("Include" ${GROUP_INCLUDE}) | |||||
| file(GLOB COMPILER_SRCS | |||||
| "pre_activate/gpu/*.cc" | |||||
| ${TVM_DIR}/src/api/*.cc | |||||
| ${TVM_DIR}/src/arithmetic/*.cc | |||||
| ${TVM_DIR}/src/autotvm/*.cc | |||||
| ${TVM_DIR}/src/codegen/*.cc | |||||
| ${TVM_DIR}/src/lang/*.cc | |||||
| ${TVM_DIR}/src/pass/*.cc | |||||
| ${TVM_DIR}/src/op/*.cc | |||||
| ${TVM_DIR}/src/node/*.cc | |||||
| ${TVM_DIR}/src/schedule/*.cc | |||||
| ${TVM_DIR}/src/runtime/*.cc | |||||
| ${TVM_DIR}/src/runtime/vm/*.cc | |||||
| ${TVM_DIR}/src/runtime/vm/profiler/*.cc | |||||
| ${TVM_DIR}/src/codegen/stackvm/*.cc) | |||||
| file(GLOB_RECURSE RELAY_SRCS ${TVM_DIR}/src/relay/*.cc) | |||||
| list(APPEND COMPILER_SRCS ${RELAY_SRCS}) | |||||
| file(GLOB DATATYPE_SRCS ${TVM_DIR}/src/codegen/datatype/*.cc) | |||||
| list(APPEND COMPILER_SRCS ${DATATYPE_SRCS}) | |||||
| file(GLOB COMPILER_VERILOG_SRCS ${TVM_DIR}/src/codegen/verilog/*.cc) | |||||
| list(APPEND COMPILER_SRCS ${COMPILER_VERILOG_SRCS}) | |||||
| file(GLOB TOPI_SRCS ${TVM_DIR}/topi/src/*.cc) | |||||
| file(GLOB RUNTIME_SRCS | |||||
| ${TVM_DIR}/src/runtime/*.cc | |||||
| ${TVM_DIR}/src/runtime/vm/*.cc | |||||
| ${TVM_DIR}/src/runtime/stub/*.cc | |||||
| ${TVM_DIR}/src/runtime/stackvm/*.cc) | |||||
| file(GLOB COMPILER_OFF_SRCS | |||||
| ${TVM_DIR}/src/codegen/opt/build_*_off.cc) | |||||
| set(USE_CUDA "OFF") | |||||
| if(ENABLE_GPU) | |||||
| list(REMOVE_ITEM COMPILER_OFF_SRCS | |||||
| ${TVM_DIR}/src/codegen/opt/build_cuda_off.cc) | |||||
| set(USE_CUDA "ON") | |||||
| endif() | |||||
| list(APPEND COMPILER_SRCS ${COMPILER_OFF_SRCS}) | |||||
| # Module rules | |||||
| include(${TVM_DIR}/cmake/modules/CUDA.cmake) | |||||
| set(CMAKE_C_FLAGS_AKG -pipe -Wall -fPIC -fstack-protector-all) | |||||
| set(CMAKE_C_FLAGS_AKG ${CMAKE_C_FLAGS_AKG} -Wl,-z,relro,-z,now,-z,noexecstack) | |||||
| set(CMAKE_CXX_FLAGS_AKG -std=c++11 -pipe -Wall -fPIC -fstack-protector-all) | |||||
| set(CMAKE_CXX_FLAGS_AKG ${CMAKE_CXX_FLAGS_AKG} -Wl,-z,relro,-z,now,-z,noexecstack) | |||||
| if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") | |||||
| message("-- Build in Debug mode") | |||||
| set(CMAKE_C_FLAGS_AKG ${CMAKE_C_FLAGS_AKG} -O0 -g -rdynamic) | |||||
| set(CMAKE_CXX_FLAGS_AKG ${CMAKE_CXX_FLAGS_AKG} -O0 -g -rdynamic) | |||||
| else() | |||||
| message("-- Build in Release mode") | |||||
| set(CMAKE_C_FLAGS_AKG ${CMAKE_C_FLAGS_AKG} -O2 -Werror) | |||||
| set(CMAKE_CXX_FLAGS_AKG ${CMAKE_CXX_FLAGS_AKG} -O2 -Werror) | |||||
| endif() | |||||
| if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION | |||||
| VERSION_GREATER 7.0) | |||||
| set(CMAKE_CXX_FLAGS_AKG ${CMAKE_CXX_FLAGS_AKG} -faligned-new) | |||||
| endif() | |||||
| add_library(akg OBJECT ${COMPILER_SRCS} ${RUNTIME_SRCS} ${TOPI_SRCS}) | |||||
| target_link_libraries(akg ${TVM_LINKER_LIBS} ${TVM_RUNTIME_LINKER_LIBS}) | |||||
| target_compile_options(akg PRIVATE | |||||
| $<$<COMPILE_LANGUAGE:C>:${CMAKE_C_FLAGS_AKG}> | |||||
| $<$<COMPILE_LANGUAGE:CXX>:${CMAKE_CXX_FLAGS_AKG}>) | |||||
| target_include_directories(akg PRIVATE "${TVM_DIR}/topi/include") | |||||
| add_dependencies(_c_expression akg) | |||||
| target_link_libraries(_c_expression PRIVATE akg) | |||||
| endif() | |||||
| if(ENABLE_DUMP_PROTO) | if(ENABLE_DUMP_PROTO) | ||||
| target_link_libraries(_c_expression PRIVATE mindspore::protobuf) | target_link_libraries(_c_expression PRIVATE mindspore::protobuf) | ||||
| endif() | endif() | ||||
| @@ -0,0 +1,100 @@ | |||||
| cmake_minimum_required(VERSION 3.2) | |||||
| project(tvm C CXX) | |||||
| set(TVM_DIR ${CMAKE_CURRENT_SOURCE_DIR}) | |||||
| # Utility functions | |||||
| include(${TVM_DIR}/cmake/util/Util.cmake) | |||||
| include(${TVM_DIR}/cmake/util/FindCUDA.cmake) | |||||
| # include directories | |||||
| include_directories(AFTER "${TVM_DIR}/include") | |||||
| include_directories(AFTER "${TVM_DIR}/src") | |||||
| include_directories(AFTER "${TVM_DIR}") | |||||
| include_directories(AFTER "${TVM_DIR}/src/schedule") | |||||
| include_directories(AFTER "${TVM_DIR}/3rdparty/dmlc-core/include") | |||||
| include_directories(AFTER "${TVM_DIR}/3rdparty/dlpack/include") | |||||
| include_directories(AFTER "${TVM_DIR}/3rdparty/compiler-rt") | |||||
| include_directories(AFTER "${TVM_DIR}/3rdparty/rang/include") | |||||
| # lib contain dlopen and dlclose | |||||
| set(TVM_RUNTIME_LINKER_LIBS ${CMAKE_DL_LIBS}) | |||||
| # add source group | |||||
| file(GLOB_RECURSE GROUP_SOURCE "${TVM_DIR}/src/*.cc" "src/*.cc") | |||||
| file(GLOB_RECURSE GROUP_INCLUDE "${TVM_DIR}/src/*.h" | |||||
| "${TVM_DIR}/include/*.h" "src/*.h" "include/*.h") | |||||
| assign_source_group("Source" ${GROUP_SOURCE}) | |||||
| assign_source_group("Include" ${GROUP_INCLUDE}) | |||||
| file(GLOB COMPILER_SRCS | |||||
| "pre_activate/gpu/*.cc" | |||||
| ${TVM_DIR}/src/api/*.cc | |||||
| ${TVM_DIR}/src/arithmetic/*.cc | |||||
| ${TVM_DIR}/src/autotvm/*.cc | |||||
| ${TVM_DIR}/src/codegen/*.cc | |||||
| ${TVM_DIR}/src/lang/*.cc | |||||
| ${TVM_DIR}/src/pass/*.cc | |||||
| ${TVM_DIR}/src/op/*.cc | |||||
| ${TVM_DIR}/src/node/*.cc | |||||
| ${TVM_DIR}/src/schedule/*.cc | |||||
| ${TVM_DIR}/src/runtime/*.cc | |||||
| ${TVM_DIR}/src/runtime/vm/*.cc | |||||
| ${TVM_DIR}/src/runtime/vm/profiler/*.cc | |||||
| ${TVM_DIR}/src/codegen/stackvm/*.cc) | |||||
| file(GLOB_RECURSE RELAY_SRCS ${TVM_DIR}/src/relay/*.cc) | |||||
| list(APPEND COMPILER_SRCS ${RELAY_SRCS}) | |||||
| file(GLOB DATATYPE_SRCS ${TVM_DIR}/src/codegen/datatype/*.cc) | |||||
| list(APPEND COMPILER_SRCS ${DATATYPE_SRCS}) | |||||
| file(GLOB COMPILER_VERILOG_SRCS ${TVM_DIR}/src/codegen/verilog/*.cc) | |||||
| list(APPEND COMPILER_SRCS ${COMPILER_VERILOG_SRCS}) | |||||
| file(GLOB TOPI_SRCS ${TVM_DIR}/topi/src/*.cc) | |||||
| file(GLOB RUNTIME_SRCS | |||||
| ${TVM_DIR}/src/runtime/*.cc | |||||
| ${TVM_DIR}/src/runtime/vm/*.cc | |||||
| ${TVM_DIR}/src/runtime/stub/*.cc | |||||
| ${TVM_DIR}/src/runtime/stackvm/*.cc) | |||||
| file(GLOB COMPILER_OFF_SRCS | |||||
| ${TVM_DIR}/src/codegen/opt/build_*_off.cc) | |||||
| list(REMOVE_ITEM COMPILER_OFF_SRCS | |||||
| ${TVM_DIR}/src/codegen/opt/build_cuda_off.cc) | |||||
| set(USE_CUDA "ON") | |||||
| list(APPEND COMPILER_SRCS ${COMPILER_OFF_SRCS}) | |||||
| # Module rules | |||||
| include(${TVM_DIR}/cmake/modules/CUDA.cmake) | |||||
| set(CMAKE_C_FLAGS_AKG -pipe -Wall -fPIC -fstack-protector-all) | |||||
| set(CMAKE_C_FLAGS_AKG ${CMAKE_C_FLAGS_AKG} -Wl,-z,relro,-z,now,-z,noexecstack) | |||||
| set(CMAKE_CXX_FLAGS_AKG -std=c++11 -pipe -Wall -fPIC -fstack-protector-all) | |||||
| set(CMAKE_CXX_FLAGS_AKG ${CMAKE_CXX_FLAGS_AKG} -Wl,-z,relro,-z,now,-z,noexecstack) | |||||
| if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") | |||||
| message("-- Build in Debug mode") | |||||
| set(CMAKE_C_FLAGS_AKG ${CMAKE_C_FLAGS_AKG} -O0 -g -rdynamic) | |||||
| set(CMAKE_CXX_FLAGS_AKG ${CMAKE_CXX_FLAGS_AKG} -O0 -g -rdynamic) | |||||
| else() | |||||
| message("-- Build in Release mode") | |||||
| set(CMAKE_C_FLAGS_AKG ${CMAKE_C_FLAGS_AKG} -O2 -Werror) | |||||
| set(CMAKE_CXX_FLAGS_AKG ${CMAKE_CXX_FLAGS_AKG} -O2 -Werror) | |||||
| endif() | |||||
| if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_VERSION | |||||
| VERSION_GREATER 7.0) | |||||
| set(CMAKE_CXX_FLAGS_AKG ${CMAKE_CXX_FLAGS_AKG} -faligned-new) | |||||
| endif() | |||||
| add_library(tvm SHARED ${COMPILER_SRCS} ${RUNTIME_SRCS} ${TOPI_SRCS}) | |||||
| target_link_libraries(tvm ${TVM_LINKER_LIBS} ${TVM_RUNTIME_LINKER_LIBS}) | |||||
| target_compile_options(tvm PRIVATE | |||||
| $<$<COMPILE_LANGUAGE:C>:${CMAKE_C_FLAGS_AKG}> | |||||
| $<$<COMPILE_LANGUAGE:CXX>:${CMAKE_CXX_FLAGS_AKG}>) | |||||
| target_include_directories(tvm PRIVATE "${TVM_DIR}/topi/include") | |||||
| install(TARGETS tvm) | |||||
| @@ -18,11 +18,11 @@ | |||||
| - lib_path = libinfo.find_lib_path() | - lib_path = libinfo.find_lib_path() | ||||
| + """Load library by searching possible path.""" | + """Load library by searching possible path.""" | ||||
| + pwd = os.path.dirname(os.path.realpath(__file__)) | + pwd = os.path.dirname(os.path.realpath(__file__)) | ||||
| + path = os.path.realpath(pwd+"/../../../mindspore") | |||||
| + path = os.path.realpath(pwd+"/../../../mindspore/lib") | |||||
| + lib_path = [] | + lib_path = [] | ||||
| + files = os.listdir(path) | + files = os.listdir(path) | ||||
| + for f in files: | + for f in files: | ||||
| + if f.startswith("_c_expression.") and f.endswith(".so"): | |||||
| + if f.startswith("libtvm.") and f.endswith(".so"): | |||||
| + lib_path.append(path+"/"+f) | + lib_path.append(path+"/"+f) | ||||
| + break | + break | ||||
| + if not lib_path: | + if not lib_path: | ||||
| @@ -56,11 +56,11 @@ diff -Npur tvm/topi/python/topi/cpp/impl.py tvm_new/topi/python/topi/cpp/impl.py | |||||
| - return None, None | - return None, None | ||||
| + """Load library by searching possible path.""" | + """Load library by searching possible path.""" | ||||
| + pwd = os.path.dirname(os.path.realpath(__file__)) | + pwd = os.path.dirname(os.path.realpath(__file__)) | ||||
| + path = os.path.realpath(pwd+"/../../../mindspore") | |||||
| + path = os.path.realpath(pwd+"/../../../mindspore/lib") | |||||
| + lib_path = [] | + lib_path = [] | ||||
| + files = os.listdir(path) | + files = os.listdir(path) | ||||
| + for f in files: | + for f in files: | ||||
| + if f.startswith("_c_expression.") and f.endswith(".so"): | |||||
| + if f.startswith("libtvm.") and f.endswith(".so"): | |||||
| + lib_path.append(path+"/"+f) | + lib_path.append(path+"/"+f) | ||||
| + break | + break | ||||
| + if not lib_path: | + if not lib_path: | ||||