graphdeco-inria / gaussian-splatting

Original reference implementation of "3D Gaussian Splatting for Real-Time Radiance Field Rendering"

Home Page:https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Edited] No CUDA runtime is found, using CUDA_HOME='C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8'

yoponchik opened this issue · comments

~
Failed to build diff_gaussian_rasterization simple_knn
Installing collected packages: simple_knn, diff_gaussian_rasterization
  Running setup.py install for simple_knn: started
  Running setup.py install for simple_knn: finished with status 'error'

Pip subprocess error:
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [20 lines of output]
      running bdist_wheel
      C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py:411: UserWarning:.
        warnings.warn(msg.format('we could not find ninja.'))
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-37
      creating build\lib.win-amd64-cpython-37\diff_gaussian_rasterization
      copying diff_gaussian_rasterization\__init__.py -> build\lib.win-amd64-cpython-37\diff_gaussian_rasterization
      running build_ext
      C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py:813: UserWarning:.
        warnings.warn(CUDA_MISMATCH_WARN.format(cuda_str_version, torch.version.cuda))
      building 'diff_gaussian_rasterization._C' extension
      creating build\temp.win-amd64-cpython-37
      creating build\temp.win-amd64-cpython-37\Release
      creating build\temp.win-amd64-cpython-37\Release\cuda_rasterizer
      "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\nvcc" -c cuda_rasterizer/backward.cu -o build\temp.v
      C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include\crt/host_config.h(231): fatal error C1083: Cannoy
      backward.cu
      error: command 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.8\\bin\\nvcc.exe' failed with exit cod2
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for diff_gaussian_rasterization
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [12 lines of output]
      running bdist_wheel
      C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py:411: UserWarning:.
        warnings.warn(msg.format('we could not find ninja.'))
      running build
      running build_ext
      C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py:813: UserWarning:.
        warnings.warn(CUDA_MISMATCH_WARN.format(cuda_str_version, torch.version.cuda))
      building 'simple_knn._C' extension
      "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\HostX64\x64\cl.exe" /c /no0
      ext.cpp
      C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\include\torch\csrc\api\include\torch/cudy
      error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.33.31629\\bin\\H2
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for simple_knn
  error: subprocess-exited-with-error

  × Running setup.py install for simple_knn did not run successfully.
  │ exit code: 1
  ╰─> [28 lines of output]
      running install
      C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\cmd.py:66: SetuptoolsDep.
      !!

              ********************************************************************************
              Please avoid running ``setup.py`` directly.
              Instead, use pypa/build, pypa/installer or other
              standards-based tools.

              See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
              ********************************************************************************

      !!
        self.initialize_options()
      running build
      running build_ext
      C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py:411: UserWarning:.
        warnings.warn(msg.format('we could not find ninja.'))
      C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py:813: UserWarning:.
        warnings.warn(CUDA_MISMATCH_WARN.format(cuda_str_version, torch.version.cuda))
      building 'simple_knn._C' extension
      creating build
      creating build\temp.win-amd64-cpython-37
      creating build\temp.win-amd64-cpython-37\Release
      "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\HostX64\x64\cl.exe" /c /no0
      ext.cpp
      C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\include\torch\csrc\api\include\torch/cudy
      error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.33.31629\\bin\\H2
      [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.
╰─> simple_knn

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

failed
~

My CUDA toolkit version is 11.8 my conda CUDA version seems to be 11.6.2. Could this be the problem?

image

image

I tried changing the cuda toolkit version in the environment.yml to 11.8, but I still get an error

Failed to build diff_gaussian_rasterization simple_knn
Installing collected packages: simple_knn, diff_gaussian_rasterization
  Running setup.py install for simple_knn: started
  Running setup.py install for simple_knn: finished with status 'error'

Pip subprocess error:
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [57 lines of output]
      No CUDA runtime is found, using CUDA_HOME='C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8'
      running bdist_wheel
      C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py:411: UserWarning:.
        warnings.warn(msg.format('we could not find ninja.'))
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-37
      creating build\lib.win-amd64-cpython-37\diff_gaussian_rasterization
      copying diff_gaussian_rasterization\__init__.py -> build\lib.win-amd64-cpython-37\diff_gaussian_rasterization
      running build_ext
      Traceback (most recent call last):
        File "<string>", line 36, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\ITAEC\Documents\Github\gaussian-splatting\submodules\diff-gaussian-rasterization\setup.py", line>
          'build_ext': BuildExtension
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\__init__.py", line 103, in p
          return distutils.core.setup(**attrs)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\core.py", line 1p
          return run_commands(dist)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\core.py", line 2s
          dist.run_commands()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 9s
          self.run_command(cmd)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 963, in run_d
          super().run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 9d
          cmd_obj.run()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\wheel\bdist_wheel.py", line 368, in run
          self.run_command("build")
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\cmd.py", line 31d
          self.distribution.run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 963, in run_d
          super().run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 9d
          cmd_obj.run()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build.pyn
          self.run_command(cmd_name)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\cmd.py", line 31d
          self.distribution.run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 963, in run_d
          super().run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 9d
          cmd_obj.run()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\command\build_ext.py", linen
          _build_ext.run(self)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_exn
          self.build_extensions()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 43s
          self._check_cuda_version(compiler_name, compiler_version)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 80n
          torch_cuda_version = packaging.version.parse(torch.version.cuda)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\pkg_resources\_vendor\packaging\versioe
          return Version(version)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\pkg_resources\_vendor\packaging\versio_
          match = self._regex.search(version)
      TypeError: expected string or bytes-like object
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for diff_gaussian_rasterization
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [52 lines of output]
      No CUDA runtime is found, using CUDA_HOME='C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8'
      running bdist_wheel
      C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py:411: UserWarning:.
        warnings.warn(msg.format('we could not find ninja.'))
      running build
      running build_ext
      Traceback (most recent call last):
        File "<string>", line 36, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\ITAEC\Documents\Github\gaussian-splatting\submodules\simple-knn\setup.py", line 33, in <module>
          'build_ext': BuildExtension
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\__init__.py", line 103, in p
          return distutils.core.setup(**attrs)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\core.py", line 1p
          return run_commands(dist)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\core.py", line 2s
          dist.run_commands()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 9s
          self.run_command(cmd)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 963, in run_d
          super().run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 9d
          cmd_obj.run()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\wheel\bdist_wheel.py", line 368, in run
          self.run_command("build")
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\cmd.py", line 31d
          self.distribution.run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 963, in run_d
          super().run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 9d
          cmd_obj.run()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build.pyn
          self.run_command(cmd_name)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\cmd.py", line 31d
          self.distribution.run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 963, in run_d
          super().run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 9d
          cmd_obj.run()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\command\build_ext.py", linen
          _build_ext.run(self)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_exn
          self.build_extensions()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 43s
          self._check_cuda_version(compiler_name, compiler_version)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 80n
          torch_cuda_version = packaging.version.parse(torch.version.cuda)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\pkg_resources\_vendor\packaging\versioe
          return Version(version)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\pkg_resources\_vendor\packaging\versio_
          match = self._regex.search(version)
      TypeError: expected string or bytes-like object
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for simple_knn
  error: subprocess-exited-with-error

  × Running setup.py install for simple_knn did not run successfully.
  │ exit code: 1
  ╰─> [67 lines of output]
      No CUDA runtime is found, using CUDA_HOME='C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8'
      running install
      C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\cmd.py:66: SetuptoolsDep.
      !!

              ********************************************************************************
              Please avoid running ``setup.py`` directly.
              Instead, use pypa/build, pypa/installer or other
              standards-based tools.

              See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
              ********************************************************************************

      !!
        self.initialize_options()
      running build
      running build_ext
      C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py:411: UserWarning:.
        warnings.warn(msg.format('we could not find ninja.'))
      Traceback (most recent call last):
        File "<string>", line 36, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\ITAEC\Documents\Github\gaussian-splatting\submodules\simple-knn\setup.py", line 33, in <module>
          'build_ext': BuildExtension
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\__init__.py", line 103, in p
          return distutils.core.setup(**attrs)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\core.py", line 1p
          return run_commands(dist)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\core.py", line 2s
          dist.run_commands()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 9s
          self.run_command(cmd)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 963, in run_d
          super().run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 9d
          cmd_obj.run()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\command\install.py", line 7n
          return orig.install.run(self)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\install.n
          self.run_command('build')
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\cmd.py", line 31d
          self.distribution.run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 963, in run_d
          super().run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 9d
          cmd_obj.run()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build.pyn
          self.run_command(cmd_name)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\cmd.py", line 31d
          self.distribution.run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 963, in run_d
          super().run_command(command)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 9d
          cmd_obj.run()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\command\build_ext.py", linen
          _build_ext.run(self)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_exn
          self.build_extensions()
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 43s
          self._check_cuda_version(compiler_name, compiler_version)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 80n
          torch_cuda_version = packaging.version.parse(torch.version.cuda)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\pkg_resources\_vendor\packaging\versioe
          return Version(version)
        File "C:\Users\ITAEC\anaconda3\envs\gaussian_splatting\lib\site-packages\pkg_resources\_vendor\packaging\versio_
          match = self._regex.search(version)
      TypeError: expected string or bytes-like object
      [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.
╰─> simple_knn

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

failed

CondaEnvException: Pip failed

Hello,
Were you able to solve this issue?

@Muhammad0312 I couldn't find a specific solution for this, but apparently, the documentation failed to mention that the CUDA SDK and pytorch CUDA have to have compatible versions. Additionally, someone also said that cudatoolkit does not have complete features like cudatoolkit-dev, so I downloaded that.
I don't really know if everyone is facing this problem, but some posts suggest that it might just be for people with RTX 4090 GPUs.
The only solution I found was not to create the conda environment with the environment.yml but just manually.

@Muhammad0312
Here is my exported environment.yml. Try using this.

name: gs
channels:
  - pytorch
  - defaults
  - conda-forge
dependencies:
  - pip=23.3.1=py311haa95532_0
  - python=3.11.8=he1021f5_0
  - cudatoolkit-dev=11.7.0
  - plyfile
  - tqdm
  - pip:
      # doesn't seem to download and install on my environment
      #- torch==2.2.2+cu118
      #- torchaudio==2.2.2+cu118
      #- torchvision==0.17.2+cu118

Then activate the conda environment and execute the command pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

After that, manually install diff-gaussian-rasterization and simple_knn.

BTW: My CUDA version is 11.8, but the torch CUDA is set to 11.7.
Also, note that if you do a regular pip install torch and not pip install torch "version number" + cu118 it installs a CPU version of torch. (You can check for yourself by doing conda list and seeing py311_cpu or py3.11_cpu_0 under the build category)