diff --git a/CMakeLists.txt b/CMakeLists.txt index 60520d164bcd536a6ff6d13d8271504a9e244477..9395309127c0668775d28df7e1ccf4536132c36f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -690,7 +690,7 @@ if (UNIX OR APPLE) set(CAFFE_CPU_ONLY ON) set(USE_CUDNN OFF) elseif (${GPU_MODE} MATCHES "OPENCL") - execute_process(COMMAND git checkout opencl WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/3rdparty/caffe) + execute_process(COMMAND git checkout fe2a1102 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/3rdparty/caffe) set(USE_CUDNN OFF) endif (${GPU_MODE} MATCHES "CUDA") diff --git a/doc/installation.md b/doc/installation.md index 07b5b52779c425ce5ac58d4b67b006f54b3ca331..bbd9471ee88cfb1cfaeebafe60d7c9f3f676f491 100644 --- a/doc/installation.md +++ b/doc/installation.md @@ -350,6 +350,9 @@ Also as a side note, if the default installation fails (i.e., the one explained 3. `Caffe_LIBS` set to `/usr/local/lib/libcaffe.dylib`. 4. Run `Configure` and `Generate` from CMake GUI. +You may also have to apply the following patch if you have the latest OSX 10.14. It can be done as follows: + +`cd 3rdparty/caffe; git apply ../../scripts/osx/mac_opencl_patch.txt` #### 3D Reconstruction Module diff --git a/scripts/osx/mac_opencl_patch.txt b/scripts/osx/mac_opencl_patch.txt new file mode 100644 index 0000000000000000000000000000000000000000..3109873e6a68e12d5294e96968c655edef0f2cce --- /dev/null +++ b/scripts/osx/mac_opencl_patch.txt @@ -0,0 +1,37 @@ +diff --git a/cmake/Modules/FindvecLib.cmake b/cmake/Modules/FindvecLib.cmake +index 7459f623..9c5ee818 100644 +--- a/cmake/Modules/FindvecLib.cmake ++++ b/cmake/Modules/FindvecLib.cmake +@@ -12,13 +12,17 @@ endif() + + set(__veclib_include_suffix "Frameworks/vecLib.framework/Versions/Current/Headers") + +-find_path(vecLib_INCLUDE_DIR vecLibTypes.h ++exec_program(xcode-select ARGS -print-path OUTPUT_VARIABLE CMAKE_XCODE_DEVELOPER_DIR) ++find_path(vecLib_INCLUDE_DIR vecLib.h + DOC "vecLib include directory" + PATHS /System/Library/Frameworks/Accelerate.framework/Versions/Current/${__veclib_include_suffix} + /System/Library/${__veclib_include_suffix} +- /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Accelerate.framework/Versions/Current/Frameworks/vecLib.framework/Headers/ ++ ${CMAKE_XCODE_DEVELOPER_DIR}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Accelerate.framework/Versions/Current/Frameworks/vecLib.framework/Headers/ + NO_DEFAULT_PATH) + ++ ++set(vecLib_INCLUDE_DIR "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/Headers/") ++ + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(vecLib DEFAULT_MSG vecLib_INCLUDE_DIR) + +diff --git a/src/caffe/layers/malis_loss_layer.cpp b/src/caffe/layers/malis_loss_layer.cpp +index dae3c7d1..68e8323a 100644 +--- a/src/caffe/layers/malis_loss_layer.cpp ++++ b/src/caffe/layers/malis_loss_layer.cpp +@@ -1,6 +1,6 @@ + #include +-#include +-#include ++//#include ++//#include + + #include + #include diff --git a/src/openpose/core/arrayCpuGpu.cpp b/src/openpose/core/arrayCpuGpu.cpp index 4f5d8df05213174c0c285a794fcf8706fee87ba8..599339855cc110ee64868706241b3eb38956fab7 100644 --- a/src/openpose/core/arrayCpuGpu.cpp +++ b/src/openpose/core/arrayCpuGpu.cpp @@ -583,7 +583,7 @@ namespace op { try { - #if defined(USE_CAFFE) && defined(USE_CUDA) + #if defined(USE_CAFFE) && (defined(USE_CUDA) || defined(USE_OPENCL)) return spImpl->pCaffeBlobT->gpu_shape(); #else error("Required `USE_CAFFE` and `USE_CUDA` flags enabled.", __LINE__, __FUNCTION__, __FILE__); @@ -602,7 +602,7 @@ namespace op { try { - #if defined(USE_CAFFE) && defined(USE_CUDA) + #if defined(USE_CAFFE) && (defined(USE_CUDA) || defined(USE_OPENCL)) return spImpl->pCaffeBlobT->gpu_data(); #else error("Required `USE_CAFFE` and `USE_CUDA` flags enabled.", __LINE__, __FUNCTION__, __FILE__); @@ -621,7 +621,7 @@ namespace op { try { - #if defined(USE_CAFFE) && defined(USE_CUDA) + #if defined(USE_CAFFE) && (defined(USE_CUDA) || defined(USE_OPENCL)) spImpl->pCaffeBlobT->set_gpu_data(data); #else UNUSED(data); @@ -657,7 +657,7 @@ namespace op { try { - #if defined(USE_CAFFE) && defined(USE_CUDA) + #if defined(USE_CAFFE) && (defined(USE_CUDA) || defined(USE_OPENCL)) return spImpl->pCaffeBlobT->gpu_diff(); #else error("Required `USE_CAFFE` and `USE_CUDA` flags enabled.", __LINE__, __FUNCTION__, __FILE__); @@ -694,7 +694,7 @@ namespace op { try { - #if defined(USE_CAFFE) && defined(USE_CUDA) + #if defined(USE_CAFFE) && (defined(USE_CUDA) || defined(USE_OPENCL)) return spImpl->pCaffeBlobT->mutable_gpu_data(); #else error("Required `USE_CAFFE` and `USE_CUDA` flags enabled.", __LINE__, __FUNCTION__, __FILE__); @@ -731,7 +731,7 @@ namespace op { try { - #if defined(USE_CAFFE) && defined(USE_CUDA) + #if defined(USE_CAFFE) && (defined(USE_CUDA) || defined(USE_OPENCL)) return spImpl->pCaffeBlobT->mutable_gpu_diff(); #else error("Required `USE_CAFFE` and `USE_CUDA` flags enabled.", __LINE__, __FUNCTION__, __FILE__);