Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
4b2f5467
M
mindspore
项目概览
magicwindyyd
/
mindspore
与 Fork 源项目一致
Fork自
MindSpore / mindspore
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mindspore
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
4b2f5467
编写于
4年前
作者:
L
lupengcheng
提交者:
Gitee
4年前
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
回退 'Pull Request !263 : optimize cmake for tvm '
上级
a55d8a14
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
122 addition
and
39 deletion
+122
-39
cmake/external_libs/dmlc_core.cmake
cmake/external_libs/dmlc_core.cmake
+1
-1
cmake/external_libs/tvm_gpu.cmake
cmake/external_libs/tvm_gpu.cmake
+5
-13
cmake/package.cmake
cmake/package.cmake
+3
-9
cmake/utils.cmake
cmake/utils.cmake
+5
-15
mindspore/ccsrc/CMakeLists.txt
mindspore/ccsrc/CMakeLists.txt
+108
-1
未找到文件。
cmake/external_libs/dmlc_core.cmake
浏览文件 @
4b2f5467
mindspore_add_pkg
(
dmlc
-
core
mindspore_add_pkg
(
dmlc
_
core
VER 0.3
HEAD_ONLY ./
URL https://github.com/dmlc/dmlc-core/archive/808f485387f9a03f78fa9f1159f387d0d91b7a28.zip
...
...
This diff is collapsed.
Click to expand it.
cmake/external_libs/tvm_gpu.cmake
浏览文件 @
4b2f5467
set
(
incubator_tvm_gpu_CFLAGS
"-pipe -Wall -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2"
)
set
(
incubator_tvm_gpu_CXXFLAGS
"-std=c++11 -pipe -Wall -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -O2"
)
set
(
USE_CUDA
"ON"
)
set
(
incubator_tvm_gpu_CXXFLAGS
"-D_FORTIFY_SOURCE=2 -O2"
)
set
(
incubator_tvm_gpu_CFLAGS
"-D_FORTIFY_SOURCE=2 -O2"
)
mindspore_add_pkg
(
incubator_tvm_gpu
VER 0.6.0
LIBS tvm
HEAD_ONLY ./
URL https://github.com/apache/incubator-tvm/archive/v0.6.0.tar.gz
MD5 9cbbd32545a776023acabbba270449fe
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 -DBUILD_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON
)
include_directories
(
${
incubator_tvm_gpu_INC
}
)
add_library
(
mindspore::tvm ALIAS incubator_tvm_gpu::tvm
)
MD5 9cbbd32545a776023acabbba270449fe
)
This diff is collapsed.
Click to expand it.
cmake/package.cmake
浏览文件 @
4b2f5467
...
...
@@ -191,17 +191,11 @@ if (ENABLE_GPU)
DESTINATION
${
INSTALL_PY_DIR
}
/../
COMPONENT mindspore
)
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
)
if
(
EXISTS
${
CMAKE_BINARY_DIR
}
/incubator-tvm
)
install
(
DIRECTORY
${
incubator_tvm_gpu_ROOT
}
/topi/python/topi
${
incubator_tvm_gpu_ROOT
}
/python/tvm
${
CMAKE_BINARY_DIR
}
/incubator-tvm
/topi/python/topi
${
CMAKE_BINARY_DIR
}
/incubator-tvm
/python/tvm
DESTINATION
${
INSTALL_PY_DIR
}
/../_akg
COMPONENT mindspore
)
...
...
This diff is collapsed.
Click to expand it.
cmake/utils.cmake
浏览文件 @
4b2f5467
...
...
@@ -206,7 +206,7 @@ function(mindspore_add_pkg pkg_name )
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
SUBMODULES SOURCEMODULES
)
set
(
multiValueArgs CMAKE_OPTION LIBS PRE_CONFIGURE_COMMAND CONFIGURE_COMMAND BUILD_OPTION INSTALL_INCS INSTALL_LIBS PATCHES
)
cmake_parse_arguments
(
PKG
"
${
options
}
"
"
${
oneValueArgs
}
"
"
${
multiValueArgs
}
"
${
ARGN
}
)
if
(
NOT PKG_LIB_PATH
)
...
...
@@ -270,21 +270,11 @@ function(mindspore_add_pkg pkg_name )
endif
()
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
}
)
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
)
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
)
endif
()
else
()
set
(
${
pkg_name
}
_SOURCE_DIR
${
PKG_DIR
}
)
endif
()
...
...
This diff is collapsed.
Click to expand it.
mindspore/ccsrc/CMakeLists.txt
浏览文件 @
4b2f5467
...
...
@@ -395,7 +395,114 @@ if(USE_GLOG)
endif
()
if
(
ENABLE_GPU
)
target_link_libraries
(
_c_expression PRIVATE mindspore::tvm
)
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
)
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
新手
引导
客服
返回
顶部