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

Can't compile when passing CUDA_ARCH_NAME=Manual #365

Closed
peetonn opened this issue Jan 9, 2018 · 3 comments
Closed

Can't compile when passing CUDA_ARCH_NAME=Manual #365

peetonn opened this issue Jan 9, 2018 · 3 comments

Comments

@peetonn
Copy link

peetonn commented Jan 9, 2018

When trying to compile openpose by default, it fails with error:

nvcc fatal   : Unsupported gpu architecture 'compute_20'

When trying to avoid building for compute_20 by passing flags:

cmake -DCUDA_ARCH_NAME=Manual -DCUDA_ARCH_BIN="35 52 60 61 70" -DCUDA_ARCH_PTX="70" ..

it still fails with the same error and in configuration output I can see this:

-- Automatic GPU detection failed. Building for all known architectures.
-- Added CUDA NVCC flags for: sm_20 sm_21 sm_30 sm_35 sm_50 sm_52 sm_60 sm_61

with additional notice at the end:

  Manually-specified variables were not used by the project:

    CUDA_ARCH_BIN
    CUDA_ARCH_NAME

Why does it ignore flags I pass for cmake?

@gineshidalgo99
Copy link
Member

Posting rules

  1. Fill the Your System Configuration section (all of it!) if you have some kind of error or performance question.

@dmaugis
Copy link

dmaugis commented Oct 29, 2018

well, you can close it if you like, but untill this issue is solved it will be difficult to create a docker out of openpose: in a docker environment the build system has no access to cuda, hence cannot find the architecture => it tries to build all architectures, including compute_20 wich is deprecated => build fails.

@canmor
Copy link

canmor commented Apr 13, 2019

@peetonn CUDA_ARCH_NAME is a typo, should be CUDA_ARCH.

And, the warning message: Manually-specified variables were not used by the project comes from cmake it self, not the cmake script, cmake will check whether each of variables you passed had been actually used, and warns for those unused variables.

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

No branches or pull requests

4 participants