зеркало из https://github.com/microsoft/caffe.git
cpu only
This commit is contained in:
Родитель
75e3f56b98
Коммит
edc493a3e4
|
@ -32,6 +32,11 @@ set(CMAKE_CXX_COMPILER_FLAGS ${CMAKE_CXX_COMPILER_FLAGS} -Wall)
|
||||||
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -fPIC)
|
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -fPIC)
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE} )#-O3)
|
set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE} )#-O3)
|
||||||
|
|
||||||
|
# Global Definitions
|
||||||
|
if(CPU_ONLY)
|
||||||
|
add_definitions(-DCPU_ONLY)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Include Directories
|
# Include Directories
|
||||||
set(${PROJECT_NAME}_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/include)
|
set(${PROJECT_NAME}_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/include)
|
||||||
include_directories(${${PROJECT_NAME}_INCLUDE_DIRS})
|
include_directories(${${PROJECT_NAME}_INCLUDE_DIRS})
|
||||||
|
@ -41,8 +46,10 @@ include_directories(${CMAKE_SOURCE_DIR}/src)
|
||||||
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/CMakeScripts)
|
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/CMakeScripts)
|
||||||
|
|
||||||
# CUDA is required globally
|
# CUDA is required globally
|
||||||
find_package(CUDA 5.5 REQUIRED)
|
if(NOT CPU_ONLY)
|
||||||
include_directories(${CUDA_INCLUDE_DIRS})
|
find_package(CUDA 5.5 REQUIRED)
|
||||||
|
include_directories(${CUDA_INCLUDE_DIRS})
|
||||||
|
endif()
|
||||||
|
|
||||||
### Subdirectories ##########################################################################
|
### Subdirectories ##########################################################################
|
||||||
|
|
||||||
|
|
|
@ -7,14 +7,6 @@ find_package(Threads REQUIRED)
|
||||||
find_package(Glog REQUIRED)
|
find_package(Glog REQUIRED)
|
||||||
include_directories(${GLOG_INCLUDE_DIRS})
|
include_directories(${GLOG_INCLUDE_DIRS})
|
||||||
|
|
||||||
# CUDA
|
|
||||||
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS}
|
|
||||||
-gencode arch=compute_20,code=sm_20
|
|
||||||
-gencode arch=compute_20,code=sm_21
|
|
||||||
-gencode arch=compute_30,code=sm_30
|
|
||||||
-gencode arch=compute_35,code=sm_35
|
|
||||||
)
|
|
||||||
|
|
||||||
# BLAS
|
# BLAS
|
||||||
if(BLAS STREQUAL "atlas")
|
if(BLAS STREQUAL "atlas")
|
||||||
|
|
||||||
|
@ -68,34 +60,44 @@ link_directories( ${Boost_LIBRARY_DIRS} )
|
||||||
add_subdirectory(proto)
|
add_subdirectory(proto)
|
||||||
|
|
||||||
# Recursively find source files
|
# Recursively find source files
|
||||||
|
## test sources
|
||||||
# cuda sources
|
|
||||||
file(GLOB_RECURSE CU_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cu)
|
|
||||||
|
|
||||||
# test sources
|
|
||||||
file(GLOB_RECURSE TEST_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/test_*.cpp)
|
file(GLOB_RECURSE TEST_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/test_*.cpp)
|
||||||
|
|
||||||
# all cpp sources
|
## all cpp sources
|
||||||
file(GLOB_RECURSE CPP_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
file(GLOB_RECURSE CPP_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
|
||||||
|
|
||||||
# remove test sources from cpp sources
|
## remove test sources from cpp sources
|
||||||
list(REMOVE_ITEM CPP_SOURCES ${TEST_SOURCES})
|
list(REMOVE_ITEM CPP_SOURCES ${TEST_SOURCES})
|
||||||
|
|
||||||
add_library(caffe ${CPP_SOURCES})
|
add_library(caffe ${CPP_SOURCES})
|
||||||
cuda_add_library(caffe_cu ${CU_SOURCES})
|
|
||||||
|
|
||||||
# both depend on proto
|
# both depend on proto
|
||||||
add_dependencies(caffe proto)
|
add_dependencies(caffe proto)
|
||||||
add_dependencies(caffe_cu proto)
|
|
||||||
|
|
||||||
target_link_libraries(caffe caffe_cu proto
|
# CUDA
|
||||||
|
if(NOT CPU_ONLY)
|
||||||
|
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS}
|
||||||
|
-gencode arch=compute_20,code=sm_20
|
||||||
|
-gencode arch=compute_20,code=sm_21
|
||||||
|
-gencode arch=compute_30,code=sm_30
|
||||||
|
-gencode arch=compute_35,code=sm_35
|
||||||
|
)
|
||||||
|
|
||||||
|
# cuda sources
|
||||||
|
file(GLOB_RECURSE CU_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cu)
|
||||||
|
cuda_add_library(caffe_cu ${CU_SOURCES})
|
||||||
|
add_dependencies(caffe_cu proto)
|
||||||
|
target_link_libraries(caffe caffe_cu
|
||||||
|
${CUDA_CUBLAS_LIBRARIES}
|
||||||
|
${CUDA_curand_LIBRARY}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_link_libraries(caffe proto
|
||||||
${GLOG_LIBRARIES}
|
${GLOG_LIBRARIES}
|
||||||
${HDF5_LIBRARIES}
|
${HDF5_LIBRARIES}
|
||||||
${OpenCV_LIBS}
|
${OpenCV_LIBS}
|
||||||
${LEVELDB_LIBS}
|
${LEVELDB_LIBS}
|
||||||
${LMDB_LIBRARIES}
|
${LMDB_LIBRARIES}
|
||||||
${CUDA_CUBLAS_LIBRARIES}
|
|
||||||
${CUDA_curand_LIBRARY}
|
|
||||||
${BLAS_LIBRARIES}
|
${BLAS_LIBRARIES}
|
||||||
${CMAKE_THREAD_LIBS_INIT}
|
${CMAKE_THREAD_LIBS_INIT}
|
||||||
)
|
)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче