Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
285daf91
P
Paddle
项目概览
机器未来
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
285daf91
编写于
4月 28, 2017
作者:
L
Liu Yiqun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Support the auto-compiling for openblas when cross-compiling for Android.
上级
c6090035
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
54 addition
and
41 deletion
+54
-41
cmake/external/openblas.cmake
cmake/external/openblas.cmake
+51
-40
cmake/system.cmake
cmake/system.cmake
+3
-1
未找到文件。
cmake/external/openblas.cmake
浏览文件 @
285daf91
...
...
@@ -21,12 +21,11 @@ IF(NOT ${CBLAS_FOUND})
SET
(
CBLAS_INSTALL_DIR
${
THIRD_PARTY_PATH
}
/install/openblas
)
SET
(
CBLAS_INC_DIR
"
${
CBLAS_INSTALL_DIR
}
/include"
CACHE PATH
"openblas include directory."
FORCE
)
IF
(
WIN32
)
SET
(
CBLAS_LIBRARIES
"
${
CBLAS_INSTALL_DIR
}
/lib/openblas.lib"
CACHE FILEPATH
"openblas library."
FORCE
)
ELSE
(
WIN32
)
SET
(
CBLAS_LIBRARIES
"
${
CBLAS_INSTALL_DIR
}
/lib/libopenblas.a"
CACHE FILEPATH
"openblas library"
FORCE
)
ENDIF
(
WIN32
)
SET
(
CBLAS_LIBRARIES
"
${
CBLAS_INSTALL_DIR
}
/lib/
${
LIBRARY_PREFIX
}
openblas
${
STATIC_LIBRARY_SUFFIX
}
"
CACHE FILEPATH
"openblas library."
FORCE
)
# check fortran compiler and library
IF
(
NOT ANDROID
)
IF
(
CMAKE_COMPILER_IS_GNUCC
)
ENABLE_LANGUAGE
(
Fortran
)
if
(
NOT CMAKE_Fortran_COMPILER_VERSION
)
...
...
@@ -56,20 +55,30 @@ IF(NOT ${CBLAS_FOUND})
ADD_DEFINITIONS
(
-DPADDLE_USE_LAPACK
)
SET
(
OPENBLAS_COMMIT
"v0.2.19"
)
SET
(
OPENBLAS_ARGS FC=
${
CMAKE_Fortran_COMPILER
}
DYNAMIC_ARCH=1 libs netlib
)
SET
(
HOST_C_COMPILER
${
CMAKE_C_COMPILER
}
)
ELSE
()
SET
(
OPENBLAS_COMMIT
"b5c96fcfcdc82945502a2303116a64d89985daf5"
)
SET
(
OPTIONAL_ARGS TARGET=ARMV7 ARM_SOFTFP_ABI=1 NOFORTRAN=1 USE_THREAD=0 libs
)
SET
(
HOST_C_COMPILER gcc
)
ENDIF
()
ExternalProject_Add
(
openblas
${
EXTERNAL_PROJECT_LOG_ARGS
}
GIT_REPOSITORY https://github.com/xianyi/OpenBLAS.git
GIT_TAG
v0.2.19
GIT_TAG
${
OPENBLAS_COMMIT
}
PREFIX
${
CBLAS_SOURCES_DIR
}
INSTALL_DIR
${
CBLAS_INSTALL_DIR
}
BUILD_IN_SOURCE 1
BUILD_COMMAND
${
CMAKE_MAKE_PROGRAM
}
FC=
${
CMAKE_Fortran_COMPILER
}
CC=
${
CMAKE_C_COMPILER
}
HOSTCC=
${
CMAKE_C_COMPILER
}
DYNAMIC_ARCH=1 NO_SHARED=1 libs netlib
BUILD_COMMAND
${
CMAKE_MAKE_PROGRAM
}
CC=
${
CMAKE_C_COMPILER
}
HOSTCC=
${
HOST_C_COMPILER
}
NO_SHARED=1
${
OPTIONAL_ARGS
}
INSTALL_COMMAND
${
CMAKE_MAKE_PROGRAM
}
install NO_SHARED=1 PREFIX=<INSTALL_DIR>
UPDATE_COMMAND
""
CONFIGURE_COMMAND
""
)
IF
(
NOT ANDROID
)
ExternalProject_Add_Step
(
openblas lapacke_install
COMMAND
${
CMAKE_COMMAND
}
-E copy
"
${
CBLAS_SOURCES_DIR
}
/src/openblas/lapack-netlib/LAPACKE/include/lapacke_mangling_with_flags.h"
"
${
CBLAS_INSTALL_DIR
}
/include/lapacke_mangling.h"
...
...
@@ -78,8 +87,10 @@ IF(NOT ${CBLAS_FOUND})
COMMAND
${
CMAKE_COMMAND
}
-E copy
"
${
CBLAS_SOURCES_DIR
}
/src/openblas/lapack-netlib/LAPACKE/include/lapacke_utils.h"
"
${
CBLAS_INSTALL_DIR
}
/include/lapacke_utils.h"
DEPENDEES install
)
ENDIF
()
LIST
(
APPEND external_project_dependencies openblas
)
ENDIF
(
NOT
${
CBLAS_FOUND
}
)
MESSAGE
(
STATUS
"BLAS library:
${
CBLAS_LIBRARIES
}
"
)
INCLUDE_DIRECTORIES
(
${
CBLAS_INC_DIR
}
)
cmake/system.cmake
浏览文件 @
285daf91
...
...
@@ -80,12 +80,14 @@ IF(DEFINED CMAKE_SYSTEM_NAME)
ENDIF
()
ENDIF
()
# suffix on different os
#
prefix and
suffix on different os
IF
(
WIN32
)
SET
(
LIBRARY_PREFIX
""
)
SET
(
SHARED_LIBRARY_SUFFIX
".dll"
)
SET
(
STATIC_LIBRARY_SUFFIX
".lib"
)
SET
(
EXECUTABLE_SUFFIX
".exe"
)
ELSE
(
WIN32
)
SET
(
LIBRARY_PREFIX
"lib"
)
IF
(
APPLE
)
SET
(
SHARED_LIBRARY_SUFFIX
".dylib"
)
ELSE
(
APPLE
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录