You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@singa.apache.org by wa...@apache.org on 2016/10/25 08:43:41 UTC
[5/6] incubator-singa git commit: SINGA-255 Compile mandatory
depedent libaries together with SINGA code
SINGA-255 Compile mandatory depedent libaries together with SINGA code
Add To-do to pass the test.
SINGA-255 Compile mandatory depedent libaries together with SINGA code
Fix comments and change cnmem repo address.
SINGA-255 Compile mandatory depedent libaries together with SINGA code
Find protobuf lib paths automatically.
SINGA-255 Compile mandatory depedent libaries together with SINGA code
Add protobuf 2.6.1.
Remove protobuf-2.7.
Make cudnn ON by default.
Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/4826d40a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/4826d40a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/4826d40a
Branch: refs/heads/master
Commit: 4826d40a1a6b67dd322fec5d3f6a5af1a17dc73d
Parents: f2c0b84
Author: xiezl <xi...@comp.nus.edu.sg>
Authored: Mon Oct 24 13:58:06 2016 +0800
Committer: xiezl <xi...@comp.nus.edu.sg>
Committed: Tue Oct 25 14:54:00 2016 +0800
----------------------------------------------------------------------
CMakeLists.txt | 41 +++++++++++++++++++++-------------------
cmake/Dependencies.cmake | 44 +++++++++++++++++++++----------------------
2 files changed, 44 insertions(+), 41 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/4826d40a/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 58244c7..a07b694 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -49,14 +49,17 @@ OPTION(USE_CUDA "Use Cuda libs" OFF)
OPTION(USE_CUDNN "Use Cudnn libs" ON)
OPTION(USE_OPENCV "Use opencv" OFF)
OPTION(USE_LMDB "Use LMDB libs" OFF)
-OPTION(USE_PYTHON "Generate py wrappers" OFF)
+OPTION(USE_PYTHON "Generate py wrappers" ON)
OPTION(USE_JAVA "Generate java wrappers" OFF)
OPTION(USE_OPENCL "Use OpenCL" OFF)
-OPTION(ENABLE_DIST "enable distributed training" OFF)
-OPTION(DISABLE_WARNINGS "disable warnings under windows" ON)
-OPTION(USE_MODULES "Use submodules to compile" OFF)
+OPTION(ENABLE_DIST "Enable distributed training" OFF)
+OPTION(DISABLE_WARNINGS "Disable warnings under windows" ON)
+OPTION(USE_MODULES "Compile dependent libs as submodules together with singa" OFF)
#OPTION(USE_SHARED_LIBS "Use shared library" OFF)
+# TODO: remove all USE_CBLAS in codes
+SET(USE_CBLAS ON)
+
INCLUDE("cmake/Dependencies.cmake")
#INCLUDE("cmake/Utils.cmake")
ADD_DEFINITIONS(-DUSE_CMAKE)
@@ -75,8 +78,8 @@ SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
IF (USE_CUDA)
include(ExternalProject)
ExternalProject_Add(cnmem
- GIT_REPOSITORY "https://github.com/NVIDIA/cnmem.git"
- GIT_TAG "28a182d"
+ GIT_REPOSITORY "https://github.com/nusdbsystem/cnmem.git"
+ GIT_TAG "master"
SOURCE_DIR "cnmem/"
CONFIGURE_COMMAND "${CMAKE_COMMAND}"
"-H${CMAKE_BINARY_DIR}/cnmem" "-B."
@@ -107,19 +110,19 @@ IF (USE_MODULES)
# BUILD_COMMAND "${CMAKE_COMMAND}" --build "."
# )
#ELSE()
- ExternalProject_Add(protobuf
- GIT_REPOSITORY "https://github.com/google/protobuf.git"
- #GIT_TAG "2.7.0"
- GIT_TAG "f56542f"
- SOURCE_DIR "protobuf/"
- CONFIGURE_COMMAND "${CMAKE_COMMAND}"
- "-H${CMAKE_BINARY_DIR}/protobuf/cmake" "-B."
- "-Dprotobuf_BUILD_TESTS=OFF" "-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}"
- "-Dprotobuf_BUILD_SHARED_LIBS=OFF" "-DCMAKE_C_FLAGS=-fPIC"
- "-DCMAKE_CXX_FLAGS=-fPIC"
- BUILD_COMMAND "${CMAKE_COMMAND}" --build "."
- )
- #ENDIF()
+ #ENDIF()
+ ExternalProject_Add(protobuf
+ DOWNLOAD_COMMAND "wget"
+ "http://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz"
+ "-O" "protobuf-2.6.1.tar.gz"
+ UPDATE_COMMAND "tar" "zxvf"
+ "${CMAKE_BINARY_DIR}/protobuf-prefix/src/protobuf-2.6.1.tar.gz" "-C" ".."
+ SOURCE_DIR "protobuf-2.6.1/"
+ BUILD_IN_SOURCE 1
+ CONFIGURE_COMMAND "./configure" "--disable-shared"
+ "--prefix=${CMAKE_BINARY_DIR}/" "CXXFLAGS=-fPIC"
+ INSTALL_COMMAND "make" "install"
+ )
ExternalProject_Add(openblas
GIT_REPOSITORY "https://github.com/xianyi/OpenBLAS.git"
#GIT_TAG "develop"
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/4826d40a/cmake/Dependencies.cmake
----------------------------------------------------------------------
diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake
index ed49eaf..d5bfbd9 100644
--- a/cmake/Dependencies.cmake
+++ b/cmake/Dependencies.cmake
@@ -34,32 +34,32 @@ IF(USE_MODULES)
# SET(CBLAS_LIBRARIES "${CMAKE_BINARY_DIR}/lib/libopenblas.so")
# INCLUDE_DIRECTORIES(SYSTEM ${CBLAS_INCLUDE_DIR})
# LIST(APPEND SINGA_LINKER_LIBS ${CBLAS_LIBRARIES})
- #ENDIF()
- #ELSE()
- include(FindProtobuf)
- SET(PROTOBUF_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include")
- SET(PROTOBUF_LIBRARY "${CMAKE_BINARY_DIR}/lib/libprotobuf.a")
- SET(PROTOBUF_PROTOC_LIBRARY "${CMAKE_BINARY_DIR}/lib/libprotoc.a")
- SET(PROTOBUF_PROTOC_EXECUTABLE "${CMAKE_BINARY_DIR}/bin/protoc")
- INCLUDE_DIRECTORIES(SYSTEM ${PROTOBUF_INCLUDE_DIR})
- LIST(APPEND SINGA_LINKER_LIBS ${PROTOBUF_LIBRARY})
- #IF(USE_CBLAS)
- SET(CBLAS_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include")
- SET(CBLAS_LIBRARIES "${CMAKE_BINARY_DIR}/lib/libopenblas.a")
- INCLUDE_DIRECTORIES(SYSTEM ${CBLAS_INCLUDE_DIR})
- LIST(APPEND SINGA_LINKER_LIBS ${CBLAS_LIBRARIES})
- #ENDIF()
- #ENDIF()
+ #ENDIF()
+ #ELSE()
+ include(FindProtobuf)
+ SET(PROTOBUF_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include")
+ SET(PROTOBUF_LIBRARY "${CMAKE_BINARY_DIR}/lib/libprotobuf.a")
+ SET(PROTOBUF_PROTOC_LIBRARY "${CMAKE_BINARY_DIR}/lib/libprotobuf.a")
+ SET(PROTOBUF_PROTOC_EXECUTABLE "${CMAKE_BINARY_DIR}/bin/protoc")
+ INCLUDE_DIRECTORIES(SYSTEM ${PROTOBUF_INCLUDE_DIR})
+ LIST(APPEND SINGA_LINKER_LIBS ${PROTOBUF_LIBRARY})
+ #IF(USE_CBLAS)
+ SET(CBLAS_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include")
+ SET(CBLAS_LIBRARIES "${CMAKE_BINARY_DIR}/lib/libopenblas.a")
+ INCLUDE_DIRECTORIES(SYSTEM ${CBLAS_INCLUDE_DIR})
+ LIST(APPEND SINGA_LINKER_LIBS ${CBLAS_LIBRARIES})
+ #ENDIF()
+ #ENDIF()
ELSE()
FIND_PACKAGE( Protobuf REQUIRED )
#MESSAGE(STATUS "proto libs " ${PROTOBUF_LIBRARY})
LIST(APPEND SINGA_LINKER_LIBS ${PROTOBUF_LIBRARY})
#IF(USE_CBLAS)
- FIND_PACKAGE(CBLAS REQUIRED)
- INCLUDE_DIRECTORIES(SYSTEM ${CBLAS_INCLUDE_DIR})
- LIST(APPEND SINGA_LINKER_LIBS ${CBLAS_LIBRARIES})
- #MESSAGE(STATUS "Found cblas at ${CBLAS_LIBRARIES}")
- #ENDIF()
+ FIND_PACKAGE(CBLAS REQUIRED)
+ INCLUDE_DIRECTORIES(SYSTEM ${CBLAS_INCLUDE_DIR})
+ LIST(APPEND SINGA_LINKER_LIBS ${CBLAS_LIBRARIES})
+ #MESSAGE(STATUS "Found cblas at ${CBLAS_LIBRARIES}")
+ #ENDIF()
ENDIF()
#INCLUDE("cmake/ProtoBuf.cmake")
@@ -83,7 +83,7 @@ ENDIF()
IF(USE_CUDA)
INCLUDE("cmake/Cuda.cmake")
SET(CNMEM_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include")
- SET(CNMEM_LIBRARY "${CMAKE_BINARY_DIR}/lib/libcnmem.so")
+ SET(CNMEM_LIBRARY "${CMAKE_BINARY_DIR}/lib/libcnmem.a")
LIST(APPEND SINGA_LINKER_LIBS ${CNMEM_LIBRARY})
ELSE()
SET(USE_CUDNN FALSE)