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:40 UTC

[4/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 git tag and remove some options.


Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/47e38c87
Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/47e38c87
Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/47e38c87

Branch: refs/heads/master
Commit: 47e38c87c574f012b6aa5238c5e7a06a6bdf348e
Parents: a98446f
Author: xiezl <xi...@comp.nus.edu.sg>
Authored: Mon Oct 24 13:45:10 2016 +0800
Committer: xiezl <xi...@comp.nus.edu.sg>
Committed: Tue Oct 25 14:52:34 2016 +0800

----------------------------------------------------------------------
 CMakeLists.txt           | 59 +++++++++++++++++-----------------------
 cmake/Dependencies.cmake | 63 +++++++++++++++++++++++--------------------
 2 files changed, 58 insertions(+), 64 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/47e38c87/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f67c7af..58244c7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,7 +20,6 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
 
 PROJECT(singa)
 SET(PACKAGE_VERSION "1.0.0")
-MESSAGE(STATUS "CMAKE paths: ${CMAKE_PREFIX_PATH} test ${CMAKE_SYSTEM_PREFIX_PATH}")
 
 LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Thirdparty)
 #message(STATUS "module path: ${CMAKE_MODULE_PATH}")
@@ -34,7 +33,7 @@ IF(WIN32)
     IF (MSVC)
         MESSAGE(STATUS "Using msvc compiler")
         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D_SCL_SECURE_NO_WARNINGS")
-        MESSAGE(STATUS "Using msvc compiler ${CMAKE_CXX_FLAGS}")
+        #MESSAGE(STATUS "Using msvc compiler ${CMAKE_CXX_FLAGS}")
     ENDIF()
 ENDIF()
 IF(CMAKE_BUILD_TYPE=Debug)
@@ -42,10 +41,10 @@ IF(CMAKE_BUILD_TYPE=Debug)
 ENDIF()
 #message(STATUS "${CMAKE_CXX_FLAGS}")
 SET(SINGA_INCLUDE_DIR
-    "${CMAKE_SOURCE_DIR}/include;${CMAKE_SOURCE_DIR}/lib/cnmem/include;${PROJECT_BINARY_DIR}")
+    "${CMAKE_SOURCE_DIR}/include;${PROJECT_BINARY_DIR}")
 INCLUDE_DIRECTORIES(${SINGA_INCLUDE_DIR})
 
-OPTION(USE_CBLAS "Use CBlas libs" ON)
+#OPTION(USE_CBLAS "Use CBlas libs" ON)
 OPTION(USE_CUDA "Use Cuda libs" OFF)
 OPTION(USE_CUDNN "Use Cudnn libs" ON)
 OPTION(USE_OPENCV "Use opencv" OFF)
@@ -56,7 +55,7 @@ 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(BUILD_SHARED_LIBS "Use shared library" OFF)
+#OPTION(USE_SHARED_LIBS "Use shared library" OFF)
 
 INCLUDE("cmake/Dependencies.cmake")
 #INCLUDE("cmake/Utils.cmake")
@@ -77,7 +76,7 @@ IF (USE_CUDA)
     include(ExternalProject)
     ExternalProject_Add(cnmem
         GIT_REPOSITORY "https://github.com/NVIDIA/cnmem.git"
-        GIT_TAG "master"
+        GIT_TAG "28a182d"
         SOURCE_DIR "cnmem/"
         CONFIGURE_COMMAND "${CMAKE_COMMAND}"
         "-H${CMAKE_BINARY_DIR}/cnmem" "-B."
@@ -85,7 +84,7 @@ IF (USE_CUDA)
         )
     #ADD_SUBDIRECTORY(lib/cnmem)
     #LIST(APPEND SINGA_LINKER_LIBS cnmem)
-    #SET(global_cuda_objs "")
+    SET(global_cuda_objs "")
 ENDIF()
 
 # TODO(wangwei) detect the ev lib
@@ -95,24 +94,23 @@ ENDIF()
 
 IF (USE_MODULES)
     include(ExternalProject)
-    #ADD_SUBDIRECTORY(lib/protobuf/cmake)
-    #ADD_SUBDIRECTORY(lib/OpenBLAS)
-    IF(BUILD_SHARED_LIBS)
+    #IF(USE_SHARED_LIBS)
+    #    ExternalProject_Add(protobuf
+    #        GIT_REPOSITORY "https://github.com/google/protobuf.git"
+    #        GIT_TAG "2.7.0"
+    #        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=ON" "-DCMAKE_C_FLAGS=-fPIC"
+    #        "-DCMAKE_CXX_FLAGS=-fPIC"
+    #        BUILD_COMMAND "${CMAKE_COMMAND}" --build "." 
+    #        )
+    #ELSE()
         ExternalProject_Add(protobuf
             GIT_REPOSITORY "https://github.com/google/protobuf.git"
-            GIT_TAG "2.7.0"
-            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=ON" "-DCMAKE_C_FLAGS=-fPIC"
-            "-DCMAKE_CXX_FLAGS=-fPIC"
-            BUILD_COMMAND "${CMAKE_COMMAND}" --build "." 
-            )
-    ELSE()
-        ExternalProject_Add(protobuf
-            GIT_REPOSITORY "https://github.com/google/protobuf.git"
-            GIT_TAG "2.7.0"
+            #GIT_TAG "2.7.0"
+            GIT_TAG "f56542f"
             SOURCE_DIR "protobuf/" 
             CONFIGURE_COMMAND "${CMAKE_COMMAND}"
             "-H${CMAKE_BINARY_DIR}/protobuf/cmake" "-B."
@@ -121,26 +119,17 @@ IF (USE_MODULES)
             "-DCMAKE_CXX_FLAGS=-fPIC"
             BUILD_COMMAND "${CMAKE_COMMAND}" --build "." 
             )
-    ENDIF()
+        #ENDIF()
     ExternalProject_Add(openblas
         GIT_REPOSITORY "https://github.com/xianyi/OpenBLAS.git"
-        GIT_TAG "develop"
+        #GIT_TAG "develop"
+        GIT_TAG "f3419e6"
         SOURCE_DIR "openblas/" 
         BUILD_IN_SOURCE 1
         CONFIGURE_COMMAND ""
         BUILD_COMMAND "make" "ONLY_CBLAS=1" 
         INSTALL_COMMAND "make" "PREFIX=${CMAKE_BINARY_DIR}/" "install"
         )
-    IF(USE_CUDA)
-    ExternalProject_Add(cnmem
-        GIT_REPOSITORY "https://github.com/NVIDIA/cnmem.git"
-        GIT_TAG "master"
-        SOURCE_DIR "cnmem/"
-        CONFIGURE_COMMAND "${CMAKE_COMMAND}"
-        "-H${CMAKE_BINARY_DIR}/cnmem" "-B."
-        "-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}"
-        )
-    ENDIF()
 ENDIF()
 
 INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}/include")

http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/47e38c87/cmake/Dependencies.cmake
----------------------------------------------------------------------
diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake
index 572a43b..ed49eaf 100644
--- a/cmake/Dependencies.cmake
+++ b/cmake/Dependencies.cmake
@@ -19,45 +19,47 @@
 SET(SINGA_LINKER_LIBS "")
 
 IF(USE_MODULES)
-    IF(USE_SHARED_LIBS)
+    #IF(USE_SHARED_LIBS)
+    #    include(FindProtobuf)
+    #    SET(CMAKE_INSTALL_RPATH "${CMAKE_BINARY_DIR}/lib")
+    #    link_directories(${CMAKE_BINARY_DIR}/lib)
+    #    SET(PROTOBUF_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include")
+    #    SET(PROTOBUF_LIBRARY "${CMAKE_BINARY_DIR}/lib/libprotobuf.so")
+    #    SET(PROTOBUF_PROTOC_LIBRARY "${CMAKE_BINARY_DIR}/lib/libprotoc.so")
+    #    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.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_LIBRARIES "${CMAKE_BINARY_DIR}/lib/libprotobuf.so")
-        SET(PROTOBUF_PROTOC_LIBRARY "${CMAKE_BINARY_DIR}/lib/libprotoc.so")
-        SET(PROTOBUF_PROTOC_EXECUTABLE "${CMAKE_BINARY_DIR}/bin/protoc")
-        INCLUDE_DIRECTORIES(SYSTEM ${PROTOBUF_INCLUDE_DIR})
-        LIST(APPEND SINGA_LINKER_LIBS ${PROTOBUF_LIBRARIES})
-        IF(USE_CBLAS)
-            SET(CBLAS_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include")
-            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_LIBRARIES "${CMAKE_BINARY_DIR}/lib/libprotobuf.a")
+        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_LIBRARIES})
-        IF(USE_CBLAS)
+        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()
+            #ENDIF()
 ELSE()
     FIND_PACKAGE( Protobuf REQUIRED )
-    MESSAGE(STATUS "proto libs " ${PROTOBUF_LIBRARIES})
-    LIST(APPEND SINGA_LINKER_LIBS ${PROTOBUF_LIBRARIES})
-    IF(USE_CBLAS)
+    #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()
+        #MESSAGE(STATUS "Found cblas at ${CBLAS_LIBRARIES}")
+        #ENDIF()
 ENDIF()
 
 #INCLUDE("cmake/ProtoBuf.cmake")
@@ -65,7 +67,7 @@ ENDIF()
 
 FIND_PACKAGE(Glog)
 IF(GLOG_FOUND)
-    MESSAGE(STATUS "GLOG FOUND at ${GLOG_INCLUDE_DIR}")
+    #MESSAGE(STATUS "GLOG FOUND at ${GLOG_INCLUDE_DIR}")
     ADD_DEFINITIONS("-DUSE_GLOG")
     LIST(APPEND SINGA_LINKER_LIBS ${GLOG_LIBRARIES})
     INCLUDE_DIRECTORIES(${GLOG_INCLUDE_DIR})
@@ -75,11 +77,14 @@ IF(USE_LMDB)
     FIND_PACKAGE(LMDB REQUIRED)
     INCLUDE_DIRECTORIES(SYSTEM ${LMDB_INCLUDE_DIR})
     LIST(APPEND SINGA_LINKER_LIBS ${LMDB_LIBRARIES})
-    MESSAGE(STATUS "FOUND lmdb at ${LMDB_INCLUDE_DIR}")
+    #MESSAGE(STATUS "FOUND lmdb at ${LMDB_INCLUDE_DIR}")
 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")
+    LIST(APPEND SINGA_LINKER_LIBS ${CNMEM_LIBRARY})
 ELSE()
     SET(USE_CUDNN FALSE)
 ENDIF()
@@ -89,14 +94,14 @@ IF(USE_OPENCL)
     IF(NOT OpenCL_FOUND)
         MESSAGE(SEND_ERROR "OpenCL was requested, but not found.")
     ELSE()
-        MESSAGE(STATUS "Found OpenCL headers at ${OpenCL_INCLUDE_DIRS}")
+        #MESSAGE(STATUS "Found OpenCL headers at ${OpenCL_INCLUDE_DIRS}")
         INCLUDE_DIRECTORIES(SYSTEM ${OpenCL_INCLUDE_DIR})
         LIST(APPEND SINGA_LINKER_LIBS ${OpenCL_LIBRARIES})
         FIND_PACKAGE(ViennaCL REQUIRED)
         IF(NOT ViennaCL_FOUND)
             MESSAGE(SEND_ERROR "ViennaCL is required if OpenCL is enabled.")
         ELSE()
-            MESSAGE(STATUS "Found ViennaCL headers at ${ViennaCL_INCLUDE_DIR}")
+            #MESSAGE(STATUS "Found ViennaCL headers at ${ViennaCL_INCLUDE_DIR}")
             INCLUDE_DIRECTORIES(SYSTEM ${ViennaCL_INCLUDE_DIR})
             LIST(APPEND SINGA_LINKER_LIBS ${ViennaCL_LIBRARIES})
         ENDIF()