Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incompatibiltiy in CUDA_ARCH and CUDA_ARCH_NAME between OpenPose and Caffe #2075

Open
RobertoRoos opened this issue Mar 21, 2022 · 1 comment · May be fixed by #2076
Open

Incompatibiltiy in CUDA_ARCH and CUDA_ARCH_NAME between OpenPose and Caffe #2075

RobertoRoos opened this issue Mar 21, 2022 · 1 comment · May be fixed by #2076

Comments

@RobertoRoos
Copy link

RobertoRoos commented Mar 21, 2022

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

  1. 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
  1. OpenPose version: v1.7.0

  2. 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
  3. Non-default settings:

    • 3-D Reconstruction module added? No
    • Any other custom CMake configuration with respect to the default version?: -DBUILD_PYTHON=ON
  4. 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?; ...?
  5. If GPU mode issue:

    • CUDA version: 10
    • cuDNN version: 7.5
    • GPU model: Titan Xp
  6. If CPU-only mode issue:

    • CPU brand & model:
    • Total RAM memory available:
  7. If Python API:

    • Python version: 2.7, 3.7, ...?
    • Numpy version (python -c "import numpy; print numpy.version.version" in Ubuntu):
  8. If Windows system:

    • Portable demo or compiled library?
  9. If speed performance issue:

@RobertoRoos
Copy link
Author

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"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant