nerfstudio icon indicating copy to clipboard operation
nerfstudio copied to clipboard

Unsupported gpu architecture 'compute_89'

Open Tobe2d opened this issue 2 years ago • 4 comments

When I try installing it i got this error after running this: pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

N_H -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 --use-local-env nvcc fatal : Unsupported gpu architecture 'compute_89' error: command 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.2\\bin\\nvcc.exe' failed with exit code 1 [end of output]

So i check nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2022 NVIDIA Corporation Built on Tue_Mar__8_18:36:24_Pacific_Standard_Time_2022 Cuda compilation tools, release 11.6, V11.6.124 Build cuda_11.6.r11.6/compiler.31057947_0

Edit: My GPU 4090

Tobe2d avatar Oct 28 '22 13:10 Tobe2d

I think you will need to install CUDA toolkit >= 11.8

https://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/

kevinddchen avatar Oct 28 '22 17:10 kevinddchen

I have installed 11.8 and added it to the system env, however here is the full error as it did not change anyhting with 11.8

nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2022 NVIDIA Corporation Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022 Cuda compilation tools, release 11.8, V11.8.89 Build cuda_11.8.r11.8/compiler.31833905_0

`pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com Collecting git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch Cloning https://github.com/NVlabs/tiny-cuda-nn/ to c:\users\XXX\appdata\local\temp\pip-req-build-r0zahs1x Running command git clone --filter=blob:none --quiet https://github.com/NVlabs/tiny-cuda-nn/ 'C:\Users\XXX\AppData\Local\Temp\pip-req-build-r0zahs1x' Resolved https://github.com/NVlabs/tiny-cuda-nn/ to commit 9acde9481f76c8f00fb8f0e75dae9c9f4b892de8 Running command git submodule update --init --recursive -q Preparing metadata (setup.py) ... done Building wheels for collected packages: tinycudann Building wheel for tinycudann (setup.py) ... error error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [21 lines of output] Building PyTorch extension for tiny-cuda-nn version 1.6 Obtained compute capability 89 from PyTorch running bdist_wheel running build running build_py creating build creating build\lib.win-amd64-cpython-38 creating build\lib.win-amd64-cpython-38\tinycudann copying tinycudann\modules.py -> build\lib.win-amd64-cpython-38\tinycudann copying tinycudann_init_.py -> build\lib.win-amd64-cpython-38\tinycudann running egg_info creating tinycudann.egg-info writing tinycudann.egg-info\PKG-INFO writing dependency_links to tinycudann.egg-info\dependency_links.txt writing top-level names to tinycudann.egg-info\top_level.txt writing manifest file 'tinycudann.egg-info\SOURCES.txt' reading manifest file 'tinycudann.egg-info\SOURCES.txt' writing manifest file 'tinycudann.egg-info\SOURCES.txt' copying tinycudann\bindings.cpp -> build\lib.win-amd64-cpython-38\tinycudann running build_ext error: [WinError 2] The system cannot find the file specified [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for tinycudann Running setup.py clean for tinycudann Failed to build tinycudann Installing collected packages: tinycudann Running setup.py install for tinycudann ... error error: subprocess-exited-with-error

× Running setup.py install for tinycudann did not run successfully. │ exit code: 1 ╰─> [15 lines of output] Building PyTorch extension for tiny-cuda-nn version 1.6 Obtained compute capability 89 from PyTorch running install C:\Users\XXX\Anaconda3\envs\nerfstudio\lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( running build running build_py running egg_info writing tinycudann.egg-info\PKG-INFO writing dependency_links to tinycudann.egg-info\dependency_links.txt writing top-level names to tinycudann.egg-info\top_level.txt reading manifest file 'tinycudann.egg-info\SOURCES.txt' writing manifest file 'tinycudann.egg-info\SOURCES.txt' running build_ext error: [WinError 2] The system cannot find the file specified [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure

× Encountered error while trying to install package. ╰─> tinycudann

note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure.`

Tobe2d avatar Oct 28 '22 19:10 Tobe2d

running build_ext
error: [WinError 2] The system cannot find the file specified

Hmmm.... interesting. Not sure what is going on. Maybe you can try to clone the repo and build from source that way? I am also not familiar with Windows, so i cannot try to reproduce your error.

I also do not have a GPU as good as yours :)

kevinddchen avatar Oct 28 '22 19:10 kevinddchen

Also consider raising an issue on the TinyCudaNN github. They may have more pointers - https://github.com/NVlabs/tiny-cuda-nn/issues

tancik avatar Oct 30 '22 15:10 tancik

I installed it using Visual Studio 2019 as follows. Operates on CUDA 11.6.

pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 -f https://download.pytorch.org/whl/torch_stable.html pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

minsoo5403 avatar Nov 25 '22 12:11 minsoo5403

Take a look at https://github.com/NVlabs/tiny-cuda-nn/issues/245

tancik avatar Feb 22 '23 18:02 tancik

@Tobe2d I also ran into similar problem trying to install on win10 with RTX4090, have you found a solution yet?

cyz2727327 avatar Apr 10 '23 23:04 cyz2727327

I fresh install everything and tested so many suggested solutions till it work.

Below is my conda env detils. hope it will help you.

name: nerfstudio
channels:
  - conda-forge
  - defaults
dependencies:
  - ca-certificates=2022.12.7=h5b45459_0
  - certifi=2022.12.7=pyhd8ed1ab_0
  - libffi=3.4.2=hd77b12b_6
  - openssl=1.1.1s=h2bbff1b_0
  - python=3.8.15=h6244533_2
  - sqlite=3.40.0=h2bbff1b_0
  - vc=14.2=h21ff451_1
  - vs2015_runtime=14.27.29016=h5e58377_2
  - wincertstore=0.2=py38haa95532_2
  - pip:
      - absl-py==1.3.0
      - aiohttp==3.8.1
      - aioice==0.7.6
      - aiortc==1.3.2
      - aiosignal==1.3.1
      - alabaster==0.7.13
      - anyio==3.6.2
      - appdirs==1.4.4
      - argon2-cffi==21.3.0
      - argon2-cffi-bindings==21.2.0
      - astroid==2.11.7
      - asttokens==2.2.1
      - async-timeout==4.0.2
      - atomicwrites==1.4.1
      - attrs==22.2.0
      - av==9.2.0
      - babel==2.11.0
      - backcall==0.2.0
      - beautifulsoup4==4.11.1
      - bidict==0.22.1
      - black==22.3.0
      - bleach==5.0.1
      - cachetools==5.2.0
      - cffi==1.15.1
      - charset-normalizer==2.1.1
      - click==8.1.3
      - colorama==0.4.6
      - comm==0.1.2
      - commonmark==0.9.1
      - configargparse==1.5.3
      - cryptography==38.0.4
      - cycler==0.11.0
      - dash==2.7.1
      - dash-core-components==2.0.0
      - dash-html-components==2.0.0
      - dash-table==5.0.0
      - debugpy==1.6.4
      - decorator==5.1.1
      - defusedxml==0.7.1
      - descartes==1.1.0
      - dill==0.3.6
      - dnspython==2.2.1
      - docker-pycreds==0.4.0
      - docstring-parser==0.14.1
      - docutils==0.19
      - entrypoints==0.4
      - execnet==1.9.0
      - executing==1.2.0
      - fastjsonschema==2.16.2
      - filelock==3.9.0
      - fire==0.5.0
      - flask==2.2.2
      - fonttools==4.38.0
      - frozendict==2.3.4
      - frozenlist==1.3.3
      - functorch==0.2.1
      - furo==2022.9.29
      - gdown==4.6.0
      - gitdb==4.0.10
      - gitpython==3.1.30
      - google-auth==2.15.0
      - google-auth-oauthlib==0.4.6
      - google-crc32c==1.5.0
      - greenlet==2.0.2
      - grpcio==1.51.1
      - h5py==3.7.0
      - idna==3.4
      - imageio==2.21.1
      - imagesize==1.4.1
      - importlib-metadata==6.0.0
      - importlib-resources==5.10.2
      - iniconfig==1.1.1
      - ipykernel==6.19.4
      - ipython==8.6.0
      - ipython-genutils==0.2.0
      - ipywidgets==8.0.4
      - isort==5.11.4
      - itsdangerous==2.1.2
      - jedi==0.18.2
      - jinja2==3.1.2
      - joblib==1.2.0
      - json5==0.9.11
      - jsonschema==4.17.3
      - jupyter==1.0.0
      - jupyter-cache==0.5.0
      - jupyter-client==7.4.8
      - jupyter-console==6.4.4
      - jupyter-core==5.1.2
      - jupyter-server==1.23.4
      - jupyterlab==3.3.4
      - jupyterlab-pygments==0.2.2
      - jupyterlab-server==2.18.0
      - jupyterlab-widgets==3.0.5
      - kiwisolver==1.4.4
      - lazy-object-proxy==1.8.0
      - lpips==0.1.4
      - markdown==3.4.1
      - markdown-it-py==2.2.0
      - markupsafe==2.1.1
      - matplotlib==3.5.3
      - matplotlib-inline==0.1.6
      - mccabe==0.7.0
      - mdit-py-plugins==0.3.5
      - mdurl==0.1.2
      - mediapy==1.1.0
      - mistune==2.0.4
      - msgpack==1.0.4
      - msgpack-numpy==0.4.8
      - multidict==6.0.4
      - mypy==0.991
      - mypy-extensions==0.4.3
      - myst-nb==0.16.0
      - myst-parser==0.18.1
      - nbclassic==0.4.8
      - nbclient==0.5.13
      - nbconvert==7.2.5
      - nbformat==5.5.0
      - nerfacc==0.3.5
      - nerfstudio==0.1.19
      - nest-asyncio==1.5.6
      - netifaces==0.11.0
      - networkx==2.8.8
      - ninja==1.10.2.3
      - notebook==6.5.2
      - notebook-shim==0.2.2
      - numpy==1.24.1
      - nuscenes-devkit==1.1.9
      - oauthlib==3.2.2
      - open3d==0.16.0
      - opencv-python==4.6.0.66
      - packaging==22.0
      - pandocfilters==1.5.0
      - parso==0.8.3
      - pathspec==0.10.3
      - pathtools==0.1.2
      - pickleshare==0.7.5
      - pillow==9.3.0
      - pip==23.0.1
      - pkgutil-resolve-name==1.3.10
      - platformdirs==2.6.2
      - plotly==5.7.0
      - pluggy==1.0.0
      - prometheus-client==0.15.0
      - promise==2.3
      - prompt-toolkit==3.0.36
      - protobuf==3.20.2
      - psutil==5.9.4
      - pure-eval==0.2.2
      - py==1.11.0
      - pyasn1==0.4.8
      - pyasn1-modules==0.2.8
      - pybind11==2.10.3
      - pycocotools==2.0.6
      - pycparser==2.21
      - pyee==9.0.4
      - pyequilib==0.5.6
      - pygments==2.14.0
      - pylibsrtp==0.7.1
      - pylint==2.13.4
      - pymeshlab==2022.2.post2
      - pyngrok==5.1.0
      - pyparsing==3.0.9
      - pyquaternion==0.9.9
      - pyrsistent==0.19.3
      - pysocks==1.7.1
      - pytest==7.1.2
      - pytest-forked==1.4.0
      - pytest-xdist==2.5.0
      - python-dateutil==2.8.2
      - python-engineio==4.3.4
      - python-socketio==5.7.1
      - pytz==2022.7
      - pywavelets==1.4.1
      - pywin32==305
      - pywinpty==2.0.10
      - pyyaml==6.0
      - pyzmq==24.0.1
      - qtconsole==5.4.0
      - qtpy==2.3.0
      - readthedocs-sphinx-search==0.1.2
      - requests==2.28.1
      - requests-oauthlib==1.3.1
      - rich==12.5.1
      - rsa==4.9
      - scikit-image==0.19.3
      - scikit-learn==1.2.0
      - scipy==1.9.3
      - send2trash==1.8.0
      - sentry-sdk==1.12.1
      - setproctitle==1.3.2
      - setuptools==67.6.1
      - shapely==2.0.0
      - shortuuid==1.0.11
      - shtab==1.5.8
      - six==1.16.0
      - smmap==5.0.0
      - sniffio==1.3.0
      - snowballstemmer==2.2.0
      - soupsieve==2.3.2.post1
      - sphinx==5.2.1
      - sphinx-argparse==0.3.1
      - sphinx-basic-ng==1.0.0b1
      - sphinx-copybutton==0.5.0
      - sphinx-design==0.2.0
      - sphinx-togglebutton==0.3.2
      - sphinxcontrib-applehelp==1.0.4
      - sphinxcontrib-devhelp==1.0.2
      - sphinxcontrib-htmlhelp==2.0.1
      - sphinxcontrib-jsmath==1.0.1
      - sphinxcontrib-qthelp==1.0.3
      - sphinxcontrib-serializinghtml==1.1.5
      - sphinxemoji==0.2.0
      - sphinxext-opengraph==0.6.3
      - sqlalchemy==1.4.47
      - stack-data==0.6.2
      - tabulate==0.9.0
      - tenacity==8.1.0
      - tensorboard==2.9.0
      - tensorboard-data-server==0.6.1
      - tensorboard-plugin-wit==1.8.1
      - termcolor==2.2.0
      - terminado==0.17.1
      - threadpoolctl==3.1.0
      - tifffile==2022.10.10
      - tinycss2==1.2.1
      - tinycudann==1.7
      - tokenize-rt==5.0.0
      - tomli==2.0.1
      - torch==1.12.1+cu113
      - torch-fidelity==0.3.0
      - torchmetrics==0.11.0
      - torchtyping==0.1.4
      - torchvision==0.13.1+cu113
      - tornado==6.2
      - tqdm==4.64.1
      - traitlets==5.8.0
      - typeguard==2.13.3
      - typing-extensions==4.4.0
      - tyro==0.3.36
      - u-msgpack-python==2.7.2
      - urllib3==1.26.13
      - wandb==0.13.7
      - wcwidth==0.2.5
      - webencodings==0.5.1
      - websocket-client==1.4.2
      - werkzeug==2.2.2
      - wheel==0.38.4
      - widgetsnbextension==4.0.5
      - wrapt==1.14.1
      - xatlas==0.0.7
      - yarl==1.8.2
      - zipp==3.11.0
prefix: C:\Users\username\anaconda3\envs\nerfstudio

Tobe2d avatar Apr 10 '23 23:04 Tobe2d

@Tobe2d thanks for your reply, looks like you are using "torch==1.12.1+cu113", may I ask what the following do you use?

  • OS (Windows or Linux)
  • Nvidia driver version
  • CUDA version
  • Visual Studio version

cyz2727327 avatar Apr 11 '23 00:04 cyz2727327

@cyz2727327 Sure, check the below:

  • OS (Windows or Linux) Windows 11

  • Nvidia driver version Studio Drivers 531.41

  • CUDA version Release 12.1, V12.1.66 Build cuda_12.1.r12.1/compiler.32415258_0

  • Visual Studio version I have 2019 and 2022

Those are my workign settings. Hope it help.

Tobe2d avatar Apr 11 '23 01:04 Tobe2d

@Tobe2d hi may i ask what's your pytorch version? for me i got The detected CUDA version (12.1) mismatches the version that was used to compile PyTorch (11.7). Please make sure to use the same CUDA versions.

colin-de avatar May 01 '23 19:05 colin-de