openpose
openpose copied to clipboard
Incompatibiltiy in `CUDA_ARCH` and `CUDA_ARCH_NAME` between OpenPose and Caffe
Issue Summary
The CMake flag CUDA_ARCH
is passed directly to Caffe as CUDA_ARCH_NAME
, but the options are not compatible.
OpenPose expects a name like "[Name] ([Cuda version])", while Caffe expects just "[Name]".
Cuda.cmake
from OpenPose:
set(__archs_names "Kepler (CUDA >= 5)" "Maxwell (CUDA >= 6)" "Pascal (CUDA >= 8)" "Volta (CUDA >= 9)" "Turing (CUDA >= 10)" "All" "Manual")
Cuda.cmake
from Caffe:
set(__archs_names "Fermi" "Kepler" "Maxwell" "Pascal" "All" "Manual")
The master branches haven't changed this since v1.7.0.
Executed Command (if any)
cmake .. -DBUILD_PYTHON=ON -DCUDA_ARCH="Pascal \(CUDA >= 8\)"
make
Errors (if any)
-- Found cuDNN: ver. 7.5.0 found (include: /usr/include, library: /usr/lib/x86_64-linux-gnu/libcudnn.so) CMake Error at cmake/Cuda.cmake:101 (message): Only Kepler, Maxwell, Pascal, Volta, Turing, All, Manual, Auto architeture names are supported. Call Stack (most recent call first): cmake/Cuda.cmake:299 (caffe_select_nvcc_arch_flags) cmake/Dependencies.cmake:85 (include) CMakeLists.txt:49 (include)
-- Configuring incomplete, errors occurred!
Type of Issue
- Compilation/installation error
Your System Configuration
- Can be produced with this Dockerfile:
FROM exsidius/openpose:latest
RUN cd /openpose && git fetch && git checkout v1.7.0 && cd build && \
cmake .. -DBUILD_PYTHON=ON cmake .. -DBUILD_PYTHON=ON -DCUDA_ARCH="Pascal \(CUDA >= 8\)" && make -j`nproc` && make install
-
OpenPose version: v1.7.0
-
General configuration:
- Installation mode: Installing inside Docker using CMake
- Operating system Ubuntu 20.04, but container is based on Ubuntu 16.04
- Release or Debug mode? Release
- Compiler;
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609
-
Non-default settings:
- 3-D Reconstruction module added? No
- Any other custom CMake configuration with respect to the default version?:
-DBUILD_PYTHON=ON
-
3rd-party software:
- Caffe version: Default from OpenPose
-
CMake version:
cmake version 3.5.1
-
OpenCV version: pre-compiled
apt-get install libopencv-dev
(only Ubuntu); OpenPose default (only Windows); compiled from source? If so, 2.4.9, 2.4.12, 3.1, 3.2?; ...?
-
If GPU mode issue:
- CUDA version: 10
- cuDNN version: 7.5
- GPU model: Titan Xp
-
If CPU-only mode issue:
- CPU brand & model:
- Total RAM memory available:
-
If Python API:
- Python version: 2.7, 3.7, ...?
-
Numpy version (
python -c "import numpy; print numpy.version.version"
in Ubuntu):
-
If Windows system:
- Portable demo or compiled library?
-
If speed performance issue:
- Report OpenPose timing speed based on the profiling documentation.
I could work around this by using the following cmake command instead, avoiding the architecture name:
cmake .. -DBUILD_PYTHON=ON -DCUDA_ARCH=Manual -DCUDA_ARCH_BIN="60 61 62" -DCUDA_ARCH_PTX="61"