Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
Paddle
提交
572d8254
P
Paddle
项目概览
PaddlePaddle
/
Paddle
大约 1 年 前同步成功
通知
2298
Star
20931
Fork
5422
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1423
列表
看板
标记
里程碑
合并请求
543
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1,423
Issue
1,423
列表
看板
标记
里程碑
合并请求
543
合并请求
543
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录