mirror of
https://github.com/saymrwulf/pytorch.git
synced 2026-05-14 20:57:59 +00:00
Clean cmake script options, and add USE_METAL to optionally build ios metal code.
Summary: Closes https://github.com/caffe2/caffe2/pull/1063 Differential Revision: D5591620 Pulled By: Yangqing fbshipit-source-id: 99a674221413568c3301cf4decb5697d0788dd48
This commit is contained in:
parent
a6bf0ca4da
commit
bf18d85945
5 changed files with 67 additions and 57 deletions
|
|
@ -28,29 +28,34 @@ set(CMAKE_MACOSX_RPATH 1)
|
|||
enable_testing()
|
||||
|
||||
# options
|
||||
option(USE_THREADS "Use Threads" ON)
|
||||
option(USE_NERVANA_GPU "Use Nervana GPU backend" OFF)
|
||||
option(USE_GLOG "Use GLOG" ON)
|
||||
# Note: if you add an option below, make sure you also add it to
|
||||
# cmake/Summary.cmake
|
||||
option(BUILD_BINARY "Build C++ binaries" ON)
|
||||
option(BUILD_PYTHON "Build Python binaries" ON)
|
||||
option(BUILD_SHARED_LIBS "Build libcaffe2.so" ON)
|
||||
option(BUILD_TEST "Build C++ test binaries (need gtest and gbenchmark)" ON)
|
||||
option(USE_CNMEM "Use CNMEM" OFF)
|
||||
option(USE_CUDA "Use Cuda" ON)
|
||||
option(USE_FFMPEG "Use ffmpeg" OFF)
|
||||
option(USE_GFLAGS "Use GFLAGS" ON)
|
||||
option(USE_LMDB "Use LMDB" ON)
|
||||
option(USE_GLOG "Use GLOG" ON)
|
||||
option(USE_GLOO "Use Gloo" ON)
|
||||
option(USE_LEVELDB "Use LEVELDB" ON)
|
||||
option(USE_LITE_PROTO "Use lite protobuf instead of full." OFF)
|
||||
option(USE_NCCL "Use NCCL" ON)
|
||||
option(USE_NNPACK "Use NNPACK" ON)
|
||||
option(USE_OPENCV "Use openCV" ON)
|
||||
option(USE_CUDA "Use Cuda" ON)
|
||||
option(USE_CNMEM "Use CNMEM" OFF)
|
||||
option(USE_ZMQ "Use ZMQ" OFF)
|
||||
option(USE_ROCKSDB "Use RocksDB" ON)
|
||||
option(USE_REDIS "Use Redis" OFF)
|
||||
option(USE_MPI "Use MPI" ON)
|
||||
option(USE_GLOO "Use Gloo" ON)
|
||||
option(USE_OBSERVERS "Use Observer Library" OFF)
|
||||
option(BUILD_SHARED_LIBS "Build libcaffe2.so" ON)
|
||||
option(USE_OPENMP "Use OpenMP for parallel code" ON)
|
||||
option(BUILD_PYTHON "Build Python binaries" ON)
|
||||
option(BUILD_BINARY "Build C++ binaries" ON)
|
||||
option(USE_LMDB "Use LMDB" ON)
|
||||
option(USE_METAL "Use Metal for iOS build" ON)
|
||||
option(USE_MOBILE_OPENGL "Use OpenGL for mobile code" ON)
|
||||
option(USE_MPI "Use MPI" ON)
|
||||
option(USE_NCCL "Use NCCL" ON)
|
||||
option(USE_NERVANA_GPU "Use Nervana GPU backend" OFF)
|
||||
option(USE_NNPACK "Use NNPACK" ON)
|
||||
option(USE_OBSERVERS "Use Observer Library" OFF)
|
||||
option(USE_OPENCV "Use openCV" ON)
|
||||
option(USE_OPENMP "Use OpenMP for parallel code" ON)
|
||||
option(USE_REDIS "Use Redis" OFF)
|
||||
option(USE_ROCKSDB "Use RocksDB" ON)
|
||||
option(USE_THREADS "Use Threads" ON)
|
||||
option(USE_ZMQ "Use ZMQ" OFF)
|
||||
|
||||
# External projects
|
||||
include(ExternalProject)
|
||||
|
|
@ -58,9 +63,6 @@ include(ExternalProject)
|
|||
include(cmake/Utils.cmake)
|
||||
include(cmake/Summary.cmake)
|
||||
|
||||
# options that do not affect the main binaries, but affects testing binaries
|
||||
option(BUILD_TEST "Build C++ test binaries (need gtest and gbenchmark)" ON)
|
||||
|
||||
set(CAFFE2_CPU_FLAGS "" CACHE STRING "Flags to specify CPU features.")
|
||||
set(CAFFE2_WHITELIST "" CACHE STRING "A whitelist file of files that one should build.")
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,10 @@ if(IOS)
|
|||
)
|
||||
set(Caffe2_CPU_SRCS ${Caffe2_CPU_SRCS} ${Caffe2_CONTRIB_IOS_SRC})
|
||||
|
||||
# mpscnn files
|
||||
add_subdirectory(mpscnn)
|
||||
if (USE_METAL)
|
||||
# metal/mpscnn files
|
||||
add_subdirectory(mpscnn)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(Caffe2_CPU_SRCS ${Caffe2_CPU_SRCS} PARENT_SCOPE)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
if(IOS)
|
||||
if(USE_METAL)
|
||||
file(GLOB_RECURSE tmp *.mm *.cc)
|
||||
# exclude test files
|
||||
file(GLOB_RECURSE test_files *_test.cc)
|
||||
|
|
|
|||
|
|
@ -392,3 +392,10 @@ if (USE_MOBILE_OPENGL)
|
|||
set(USE_MOBILE_OPENGL OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (USE_METAL)
|
||||
if (NOT IOS)
|
||||
message(WARNING "Metal is only used in ios builds.")
|
||||
set(USE_METAL OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -25,52 +25,51 @@ function (Caffe2_print_configuration_summary)
|
|||
get_directory_property(tmp DIRECTORY ${PROJECT_SOURCE_DIR} COMPILE_DEFINITIONS)
|
||||
message(STATUS " Compile definitions : ${tmp}")
|
||||
message(STATUS "")
|
||||
message(STATUS " BUILD_SHARED_LIBS : ${BUILD_SHARED_LIBS}")
|
||||
|
||||
message(STATUS " BUILD_BINARY : ${BUILD_BINARY}")
|
||||
message(STATUS " BUILD_PYTHON : ${BUILD_PYTHON}")
|
||||
message(STATUS " Python version : ${PYTHONLIBS_VERSION_STRING}")
|
||||
message(STATUS " Python library : ${PYTHON_LIBRARIES}")
|
||||
if (${BUILD_PYTHON})
|
||||
message(STATUS " Python version : ${PYTHONLIBS_VERSION_STRING}")
|
||||
message(STATUS " Python library : ${PYTHON_LIBRARIES}")
|
||||
endif()
|
||||
message(STATUS " BUILD_SHARED_LIBS : ${BUILD_SHARED_LIBS}")
|
||||
message(STATUS " BUILD_TEST : ${BUILD_TEST}")
|
||||
|
||||
message(STATUS " USE_CNMEM : ${USE_CNMEM}")
|
||||
message(STATUS " USE_CUDA : ${USE_CUDA}")
|
||||
if(${USE_CUDA})
|
||||
message(STATUS " CUDA version : ${CUDA_VERSION}")
|
||||
message(STATUS " USE_CNMEM : ${USE_CNMEM}")
|
||||
message(STATUS " CUDA version : ${CUDA_VERSION}")
|
||||
endif()
|
||||
|
||||
message(STATUS " USE_NERVANA_GPU : ${USE_NERVANA_GPU}")
|
||||
if(${USE_NERVANA_GPU})
|
||||
message(STATUS " NERVANA_GPU version : ${NERVANA_GPU_VERSION}")
|
||||
endif()
|
||||
|
||||
message(STATUS " USE_GLOG : ${USE_GLOG}")
|
||||
|
||||
message(STATUS " USE_FFMPEG : ${USE_FFMPEG}")
|
||||
message(STATUS " USE_GFLAGS : ${USE_GFLAGS}")
|
||||
|
||||
message(STATUS " USE_LMDB : ${USE_LMDB}")
|
||||
if(${USE_LMDB})
|
||||
message(STATUS " LMDB version : ${LMDB_VERSION}")
|
||||
endif()
|
||||
|
||||
message(STATUS " USE_GLOG : ${USE_GLOG}")
|
||||
message(STATUS " USE_GLOO : ${USE_GLOO}")
|
||||
message(STATUS " USE_LEVELDB : ${USE_LEVELDB}")
|
||||
if(${USE_LEVELDB})
|
||||
message(STATUS " LevelDB version : ${LEVELDB_VERSION}")
|
||||
message(STATUS " Snappy version : ${Snappy_VERSION}")
|
||||
message(STATUS " LevelDB version : ${LEVELDB_VERSION}")
|
||||
message(STATUS " Snappy version : ${Snappy_VERSION}")
|
||||
endif()
|
||||
|
||||
message(STATUS " USE_OPENCV : ${USE_OPENCV}")
|
||||
if(${USE_OPENCV})
|
||||
message(STATUS " OpenCV version : ${OpenCV_VERSION}")
|
||||
message(STATUS " USE_LMDB : ${USE_LMDB}")
|
||||
if(${USE_LMDB})
|
||||
message(STATUS " LMDB version : ${LMDB_VERSION}")
|
||||
endif()
|
||||
|
||||
message(STATUS " USE_FFMPEG : ${USE_FFMPEG}")
|
||||
|
||||
message(STATUS " USE_ZMQ : ${USE_ZMQ}")
|
||||
message(STATUS " USE_ROCKSDB : ${USE_ROCKSDB}")
|
||||
message(STATUS " USE_METAL : ${USE_METAL}")
|
||||
message(STATUS " USE_MOBILE_OPENGL : ${USE_MOBILE_OPENGL}")
|
||||
message(STATUS " USE_MPI : ${USE_MPI}")
|
||||
message(STATUS " USE_NCCL : ${USE_NCCL}")
|
||||
message(STATUS " USE_NERVANA_GPU : ${USE_NERVANA_GPU}")
|
||||
if(${USE_NERVANA_GPU})
|
||||
message(STATUS " NERVANA_GPU version : ${NERVANA_GPU_VERSION}")
|
||||
endif()
|
||||
message(STATUS " USE_NNPACK : ${USE_NNPACK}")
|
||||
message(STATUS " USE_OBSERVERS : ${USE_OBSERVERS}")
|
||||
message(STATUS " USE_OPENCV : ${USE_OPENCV}")
|
||||
if(${USE_OPENCV})
|
||||
message(STATUS " OpenCV version : ${OpenCV_VERSION}")
|
||||
endif()
|
||||
message(STATUS " USE_OPENMP : ${USE_OPENMP}")
|
||||
message(STATUS " USE_REDIS : ${USE_REDIS}")
|
||||
message(STATUS " USE_GLOO : ${USE_GLOO}")
|
||||
|
||||
message(STATUS " USE_ROCKSDB : ${USE_ROCKSDB}")
|
||||
message(STATUS " USE_THREADS : ${USE_THREADS}")
|
||||
message(STATUS " USE_ZMQ : ${USE_ZMQ}")
|
||||
endfunction()
|
||||
|
|
|
|||
Loading…
Reference in a new issue