Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
572d8254
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看板
提交
572d8254
编写于
1月 05, 2017
作者:
L
liaogang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Clean cmake
上级
642dc356
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
36 addition
and
98 deletion
+36
-98
CMakeLists.txt
CMakeLists.txt
+19
-7
cmake/cblas.cmake
cmake/cblas.cmake
+13
-11
cmake/check_packages.cmake
cmake/check_packages.cmake
+0
-14
cmake/cpplint.cmake
cmake/cpplint.cmake
+1
-1
cmake/definitions.cmake
cmake/definitions.cmake
+0
-62
cmake/util.cmake
cmake/util.cmake
+2
-2
paddle/cuda/CMakeLists.txt
paddle/cuda/CMakeLists.txt
+1
-1
未找到文件。
CMakeLists.txt
浏览文件 @
572d8254
cmake_minimum_required
(
VERSION 2.8
)
# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License
cmake_minimum_required
(
VERSION 3.0
)
project
(
paddle CXX C
)
...
...
@@ -6,11 +20,11 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
set
(
PROJ_ROOT
${
CMAKE_SOURCE_DIR
}
)
find_package
(
Sphinx
)
find_package
(
Doxygen
)
find_package
(
CUDA QUIET
)
find_package
(
Git REQUIRED
)
find_package
(
Threads REQUIRED
)
include
(
system
)
include
(
simd
)
###################### Configurations ############################
...
...
@@ -35,9 +49,8 @@ include(external/gflags) # download, build, install gflags
include
(
external/glog
)
# download, build, install glog
include
(
external/gtest
)
# download, build, install gtest
include
(
external/protobuf
)
# download, build, install protobuf
include
(
external/openblas
)
# download, build, install openblas
include
(
external/python
)
# download, build, install python
include
(
external/
numpy
)
# download, build, install numpy
include
(
external/
openblas
)
# download, build, install openblas
include
(
external/swig
)
# download, build, install swig
include
(
external/warpctc
)
# download, build, install warpctc
...
...
@@ -52,8 +65,7 @@ include(version) # set PADDLE_VERSION
include
(
coveralls
)
# set code coverage
include
(
python_module
)
# set python module
include
(
check_packages
)
# check configuration
include
(
definitions
)
# add paddle definitions
include
(
configure
)
# add paddle env configuration
include_directories
(
"
${
PROJ_ROOT
}
"
)
include_directories
(
"
${
PROJ_ROOT
}
/paddle/cuda/include"
)
...
...
@@ -64,7 +76,7 @@ set(EXTERNAL_LIBS
${
GFLAGS_LIBRARIES
}
${
GLOG_LIBRARIES
}
${
CBLAS_LIBRARIES
}
${
PROTOBUF_LIBRAR
IES
}
${
PROTOBUF_LIBRAR
Y
}
${
ZLIB_LIBRARIES
}
)
...
...
cmake/cblas.cmake
浏览文件 @
572d8254
...
...
@@ -13,6 +13,7 @@
# system paths.
#
set
(
CBLAS_FOUND OFF
)
## Find MKL First.
set
(
MKL_ROOT $ENV{MKL_ROOT} CACHE PATH
"Folder contains MKL"
)
...
...
@@ -35,11 +36,12 @@ find_library(MKL_INTEL_LP64 NAMES mkl_intel_lp64 PATHS
if
(
MKL_INCLUDE_DIR AND MKL_CORE_LIB AND MKL_SEQUENTIAL_LIB AND MKL_INTEL_LP64
)
set
(
CBLAS_PROVIDER MKL
)
set
(
CBLAS_INC_DIR
${
MKL_INCLUDE_DIR
}
)
set
(
CBLAS_LIBS
${
MKL_INTEL_LP64
}
set
(
CBLAS_LIB
RARIE
S
${
MKL_INTEL_LP64
}
${
MKL_SEQUENTIAL_LIB
}
${
MKL_CORE_LIB
}
)
add_definitions
(
-DPADDLE_USE_MKL
)
message
(
STATUS
"Found MKL (include:
${
CBLAS_INC_DIR
}
, library:
${
CBLAS_LIBS
}
)"
)
message
(
STATUS
"Found MKL (include:
${
CBLAS_INC_DIR
}
, library:
${
CBLAS_LIBRARIES
}
)"
)
set
(
CBLAS_FOUND ON
)
return
()
# return file.
endif
()
...
...
@@ -68,9 +70,10 @@ find_library(ATLAS_LIB NAMES lapack_atlas liblapack_atlas.so.3
if
(
ATLAS_INC_DIR AND ATLAS_CBLAS_LIB AND ATLAS_LIB
)
set
(
CBLAS_PROVIDER ATLAS
)
set
(
CBLAS_INC_DIR
${
ATLAS_INC_DIR
}
${
ATLAS_CLAPACK_INC_DIR
}
)
set
(
CBLAS_LIBS
${
ATLAS_LIB
}
${
ATLAS_CBLAS_LIB
}
)
set
(
CBLAS_LIB
RARIE
S
${
ATLAS_LIB
}
${
ATLAS_CBLAS_LIB
}
)
add_definitions
(
-DPADDLE_USE_ATLAS
)
message
(
STATUS
"Found Atlas (include:
${
CBLAS_INC_DIR
}
, library:
${
CBLAS_LIBS
}
)"
)
message
(
STATUS
"Found Atlas (include:
${
CBLAS_INC_DIR
}
, library:
${
CBLAS_LIBRARIES
}
)"
)
set
(
CBLAS_FOUND ON
)
return
()
endif
()
...
...
@@ -98,8 +101,9 @@ find_library(OPENBLAS_LIB NAMES openblas
if
(
OPENBLAS_INC_DIR AND OPENBLAS_LIB
)
set
(
CBLAS_PROVIDER OPENBLAS
)
set
(
CBLAS_INC_DIR
${
OPENBLAS_INC_DIR
}
)
set
(
CBLAS_LIBS
${
OPENBLAS_LIB
}
)
message
(
STATUS
"Found OpenBlas (include:
${
CBLAS_INC_DIR
}
, library:
${
CBLAS_LIBS
}
)"
)
set
(
CBLAS_LIBRARIES
${
OPENBLAS_LIB
}
)
message
(
STATUS
"Found OpenBlas (include:
${
CBLAS_INC_DIR
}
, library:
${
CBLAS_LIBRARIES
}
)"
)
set
(
CBLAS_FOUND ON
)
return
()
endif
()
...
...
@@ -130,9 +134,7 @@ find_library(REFERENCE_CBLAS_LIBRARY NAMES cblas PATHS
if
(
REFERENCE_CBLAS_INCLUDE_DIR AND REFERENCE_CBLAS_LIBRARY
)
set
(
CBLAS_PROVIDER REFERENCE
)
set
(
CBLAS_INC_DIR
${
REFERENCE_CBLAS_INCLUDE_DIR
}
)
set
(
CBLAS_LIBS
${
REFERENCE_CBLAS_LIBRARY
}
)
return
()
set
(
CBLAS_LIBRARIES
${
REFERENCE_CBLAS_LIBRARY
}
)
message
(
STATUS
"Found reference-cblas (include:
${
CBLAS_INC_DIR
}
, library:
${
CBLAS_LIBS
}
)"
)
set
(
CBLAS_FOUND ON
)
endif
()
message
(
FATAL_ERROR
"CBlas must be set. Paddle support MKL, ATLAS, OpenBlas, reference-cblas."
" Try set MKL_ROOT, ATLAS_ROOT, OPENBLAS_ROOT or REFERENCE_CBLAS_ROOT."
)
cmake/check_packages.cmake
已删除
100644 → 0
浏览文件 @
642dc356
# Check package for each cmake option
if
(
WITH_GPU
)
find_package
(
CUDA REQUIRED
)
# CUDA is required when use gpu
endif
(
WITH_GPU
)
if
(
WITH_DOC
)
find_package
(
Sphinx REQUIRED
)
find_python_module
(
recommonmark REQUIRED
)
endif
(
WITH_DOC
)
if
(
WITH_SWIG_PY
)
find_python_module
(
wheel REQUIRED
)
# package wheel
endif
(
WITH_SWIG_PY
)
cmake/cpplint.cmake
浏览文件 @
572d8254
...
...
@@ -53,7 +53,7 @@ macro(add_style_check_target TARGET_NAME)
if
(
LINT MATCHES ON
)
add_custom_command
(
TARGET
${
TARGET_NAME
}
PRE_BUILD
COMMAND
"
${
PYTHON_EXECUTABLE
}
"
"
${
PROJ_ROOT
}
/paddle/scripts/cpplint.py"
COMMAND
env
${
py_env
}
"
${
PYTHON_EXECUTABLE
}
"
"
${
PROJ_ROOT
}
/paddle/scripts/cpplint.py"
"--filter=
${
STYLE_FILTER
}
"
${
filename
}
WORKING_DIRECTORY
${
CMAKE_CURRENT_LIST_DIR
}
)
endif
()
...
...
cmake/definitions.cmake
已删除
100644 → 0
浏览文件 @
642dc356
# Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserve.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
if
(
WITH_DSO
)
add_definitions
(
-DPADDLE_USE_DSO
)
endif
(
WITH_DSO
)
if
(
WITH_DOUBLE
)
add_definitions
(
-DPADDLE_TYPE_DOUBLE
)
endif
(
WITH_DOUBLE
)
if
(
NOT WITH_TIMER
)
add_definitions
(
-DPADDLE_DISABLE_TIMER
)
endif
(
NOT WITH_TIMER
)
if
(
NOT WITH_PROFILER
)
add_definitions
(
-DPADDLE_DISABLE_PROFILER
)
endif
(
NOT WITH_PROFILER
)
if
(
NOT WITH_GPU
)
add_definitions
(
-DPADDLE_ONLY_CPU
)
add_definitions
(
-DHPPL_STUB_FUNC
)
list
(
APPEND CMAKE_CXX_SOURCE_FILE_EXTENSIONS cu
)
else
()
if
(
${
CUDA_VERSION_MAJOR
}
VERSION_LESS 7
)
message
(
FATAL_ERROR
"Paddle need CUDA >= 7.0 to compile"
)
endif
()
if
(
NOT CUDNN_FOUND
)
message
(
FATAL_ERROR
"Paddle need cudnn to compile"
)
endif
()
if
(
WITH_AVX
)
set
(
CUDA_NVCC_FLAGS
${
CUDA_NVCC_FLAGS
}
"-Xcompiler
${
AVX_FLAG
}
"
)
else
(
WITH_AVX
)
set
(
CUDA_NVCC_FLAGS
${
CUDA_NVCC_FLAGS
}
"-Xcompiler
${
SSE3_FLAG
}
"
)
endif
(
WITH_AVX
)
# Include cuda and cudnn
include_directories
(
${
CUDNN_INCLUDE_DIR
}
)
include_directories
(
${
CUDA_TOOLKIT_INCLUDE
}
)
endif
(
NOT WITH_GPU
)
if
(
WITH_AVX
)
set
(
CMAKE_C_FLAGS
"
${
CMAKE_C_FLAGS
}
${
AVX_FLAG
}
"
)
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
${
AVX_FLAG
}
"
)
else
(
WITH_AVX
)
set
(
CMAKE_C_FLAGS
"
${
CMAKE_C_FLAGS
}
${
SSE3_FLAG
}
"
)
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
${
SSE3_FLAG
}
"
)
endif
(
WITH_AVX
)
cmake/util.cmake
浏览文件 @
572d8254
...
...
@@ -24,7 +24,7 @@ function(target_circle_link_libraries TARGET_NAME)
list
(
APPEND libsInArgn
${
arg
}
)
endif
()
endforeach
()
if
(
"
${
CMAKE_CXX_COMPILER_ID
}
"
STREQUAL
"Clang"
)
if
(
"
${
CMAKE_CXX_COMPILER_ID
}
"
STREQUAL
"Clang"
OR
"
${
CMAKE_CXX_COMPILER_ID
}
"
STREQUAL
"AppleClang"
)
list
(
APPEND LIBS
"-undefined dynamic_lookup"
)
endif
()
list
(
REVERSE libsInArgn
)
...
...
@@ -105,7 +105,7 @@ function(link_paddle_exe TARGET_NAME)
if
(
WITH_PYTHON
)
target_link_libraries
(
${
TARGET_NAME
}
${
PYTHON_LIBRARIES
}
)
${
PYTHON_LIBRARIES
}
util
)
endif
()
if
(
WITH_GPU
)
...
...
paddle/cuda/CMakeLists.txt
浏览文件 @
572d8254
...
...
@@ -88,7 +88,7 @@ else()
${
CUDA_CXX_SOURCES
}
)
endif
()
add_dependencies
(
paddle_cuda
warpctc
)
add_dependencies
(
paddle_cuda
${
external_project_dependencies
}
)
add_style_check_target
(
paddle_cuda
${
CUDA_SOURCES
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录