tatsy / torchmcubes

Marching cubes implementation for PyTorch environment.
Mozilla Public License 2.0
202 stars 39 forks source link

nvcc fatal : Unsupported gpu architecture 'compute_' [With Solution] #18

Open aruiplex opened 2 months ago

aruiplex commented 2 months ago

Hi, when I use pip install git+https://github.com/tatsy/torchmcubes.git to install, it will cause:

I am using Python 3.12.2 and CUDA 12.2.

pip install git+https://github.com/tatsy/torchmcubes.git
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting git+https://github.com/tatsy/torchmcubes.git
  Cloning https://github.com/tatsy/torchmcubes.git to /tmp/pip-req-build-4ehs5jdp
  Running command git clone --filter=blob:none --quiet https://github.com/tatsy/torchmcubes.git /tmp/pip-req-build-4ehs5jdp
  Resolved https://github.com/tatsy/torchmcubes.git to commit cb81cddece46a8a126b08f7fbb9742f8605eefab
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torchmcubes==0.1.0) (1.26.4)
Requirement already satisfied: torch in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torchmcubes==0.1.0) (2.3.1)
Requirement already satisfied: filelock in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (3.15.4)
Requirement already satisfied: typing-extensions>=4.8.0 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (4.12.2)
Requirement already satisfied: sympy in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (1.13.1)
Requirement already satisfied: networkx in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (3.2.1)
Requirement already satisfied: jinja2 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (3.1.4)
Requirement already satisfied: fsspec in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (2024.6.1)
Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.105)
Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.105)
Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.105)
Requirement already satisfied: nvidia-cudnn-cu12==8.9.2.26 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (8.9.2.26)
Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.3.1)
Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (11.0.2.54)
Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (10.3.2.106)
Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (11.4.5.107)
Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.0.106)
Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (2.20.5)
Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.105)
Requirement already satisfied: nvidia-nvjitlink-cu12 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from nvidia-cusolver-cu12==11.4.5.107->torch->torchmcubes==0.1.0) (12.5.82)
Requirement already satisfied: MarkupSafe>=2.0 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from jinja2->torch->torchmcubes==0.1.0) (2.1.5)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from sympy->torch->torchmcubes==0.1.0) (1.3.0)
Building wheels for collected packages: torchmcubes
  Building wheel for torchmcubes (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for torchmcubes (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [45 lines of output]
      *** scikit-build-core 0.9.8 using CMake 3.22.1 (wheel)
      *** Configuring CMake...
      loading initial cache file build/CMakeInit.txt
      -- The CXX compiler identification is GNU 11.4.0
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/g++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Looking for a CUDA compiler
      -- Looking for a CUDA compiler - /usr/local/cuda-12.2/bin/nvcc
      CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:726 (message):
        Compiling the CUDA compiler identification source file
        "CMakeCUDACompilerId.cu" failed.

        Compiler: /usr/local/cuda-12.2/bin/nvcc

        Build flags:

        Id flags: --keep;--keep-dir;tmp;-gencode=arch=compute_,code=sm_ -v

        The output was:

        1

        nvcc fatal : Unsupported gpu architecture 'compute_'

      Call Stack (most recent call first):
        /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD)
        /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:48 (__determine_compiler_id_test)
        /usr/share/cmake-3.22/Modules/CMakeDetermineCUDACompiler.cmake:298 (CMAKE_DETERMINE_COMPILER_ID)
        CMakeLists.txt:13 (enable_language)

      -- Configuring incomplete, errors occurred!
      See also "/tmp/pip-req-build-4ehs5jdp/build/CMakeFiles/CMakeOutput.log".
      See also "/tmp/pip-req-build-4ehs5jdp/build/CMakeFiles/CMakeError.log".

      *** CMake configuration failed
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for torchmcubes
Failed to build torchmcubes
ERROR: Could not build wheels for torchmcubes, which is required to install pyproject.toml-based projects

After I clone this repo and change:

https://github.com/tatsy/torchmcubes/blob/cb81cddece46a8a126b08f7fbb9742f8605eefab/CMakeLists.txt#L12

Modify the native to the specific version. For the RTX4090 is "89".

It will work now.

Potato-lover commented 2 months ago

Hi, when I use pip install git+https://github.com/tatsy/torchmcubes.git to install, it will cause:

I am using Python 3.12.2 and CUDA 12.2.

pip install git+https://github.com/tatsy/torchmcubes.git
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting git+https://github.com/tatsy/torchmcubes.git
  Cloning https://github.com/tatsy/torchmcubes.git to /tmp/pip-req-build-4ehs5jdp
  Running command git clone --filter=blob:none --quiet https://github.com/tatsy/torchmcubes.git /tmp/pip-req-build-4ehs5jdp
  Resolved https://github.com/tatsy/torchmcubes.git to commit cb81cddece46a8a126b08f7fbb9742f8605eefab
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torchmcubes==0.1.0) (1.26.4)
Requirement already satisfied: torch in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torchmcubes==0.1.0) (2.3.1)
Requirement already satisfied: filelock in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (3.15.4)
Requirement already satisfied: typing-extensions>=4.8.0 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (4.12.2)
Requirement already satisfied: sympy in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (1.13.1)
Requirement already satisfied: networkx in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (3.2.1)
Requirement already satisfied: jinja2 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (3.1.4)
Requirement already satisfied: fsspec in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (2024.6.1)
Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.105)
Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.105)
Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.105)
Requirement already satisfied: nvidia-cudnn-cu12==8.9.2.26 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (8.9.2.26)
Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.3.1)
Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (11.0.2.54)
Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (10.3.2.106)
Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (11.4.5.107)
Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.0.106)
Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (2.20.5)
Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.105)
Requirement already satisfied: nvidia-nvjitlink-cu12 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from nvidia-cusolver-cu12==11.4.5.107->torch->torchmcubes==0.1.0) (12.5.82)
Requirement already satisfied: MarkupSafe>=2.0 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from jinja2->torch->torchmcubes==0.1.0) (2.1.5)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from sympy->torch->torchmcubes==0.1.0) (1.3.0)
Building wheels for collected packages: torchmcubes
  Building wheel for torchmcubes (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for torchmcubes (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [45 lines of output]
      *** scikit-build-core 0.9.8 using CMake 3.22.1 (wheel)
      *** Configuring CMake...
      loading initial cache file build/CMakeInit.txt
      -- The CXX compiler identification is GNU 11.4.0
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/g++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Looking for a CUDA compiler
      -- Looking for a CUDA compiler - /usr/local/cuda-12.2/bin/nvcc
      CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:726 (message):
        Compiling the CUDA compiler identification source file
        "CMakeCUDACompilerId.cu" failed.

        Compiler: /usr/local/cuda-12.2/bin/nvcc

        Build flags:

        Id flags: --keep;--keep-dir;tmp;-gencode=arch=compute_,code=sm_ -v

        The output was:

        1

        nvcc fatal : Unsupported gpu architecture 'compute_'

      Call Stack (most recent call first):
        /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD)
        /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:48 (__determine_compiler_id_test)
        /usr/share/cmake-3.22/Modules/CMakeDetermineCUDACompiler.cmake:298 (CMAKE_DETERMINE_COMPILER_ID)
        CMakeLists.txt:13 (enable_language)

      -- Configuring incomplete, errors occurred!
      See also "/tmp/pip-req-build-4ehs5jdp/build/CMakeFiles/CMakeOutput.log".
      See also "/tmp/pip-req-build-4ehs5jdp/build/CMakeFiles/CMakeError.log".

      *** CMake configuration failed
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for torchmcubes
Failed to build torchmcubes
ERROR: Could not build wheels for torchmcubes, which is required to install pyproject.toml-based projects

After I clone this repo and change:

https://github.com/tatsy/torchmcubes/blob/cb81cddece46a8a126b08f7fbb9742f8605eefab/CMakeLists.txt#L12

Modify the native to the specific version. For the RTX4090 is "89".

It will work now.

i met the problem too and this solve it

Tanmaypatil123 commented 2 months ago

Hi, when I use pip install git+https://github.com/tatsy/torchmcubes.git to install, it will cause: I am using Python 3.12.2 and CUDA 12.2.

pip install git+https://github.com/tatsy/torchmcubes.git
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting git+https://github.com/tatsy/torchmcubes.git
  Cloning https://github.com/tatsy/torchmcubes.git to /tmp/pip-req-build-4ehs5jdp
  Running command git clone --filter=blob:none --quiet https://github.com/tatsy/torchmcubes.git /tmp/pip-req-build-4ehs5jdp
  Resolved https://github.com/tatsy/torchmcubes.git to commit cb81cddece46a8a126b08f7fbb9742f8605eefab
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torchmcubes==0.1.0) (1.26.4)
Requirement already satisfied: torch in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torchmcubes==0.1.0) (2.3.1)
Requirement already satisfied: filelock in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (3.15.4)
Requirement already satisfied: typing-extensions>=4.8.0 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (4.12.2)
Requirement already satisfied: sympy in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (1.13.1)
Requirement already satisfied: networkx in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (3.2.1)
Requirement already satisfied: jinja2 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (3.1.4)
Requirement already satisfied: fsspec in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (2024.6.1)
Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.1.105 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.105)
Requirement already satisfied: nvidia-cuda-runtime-cu12==12.1.105 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.105)
Requirement already satisfied: nvidia-cuda-cupti-cu12==12.1.105 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.105)
Requirement already satisfied: nvidia-cudnn-cu12==8.9.2.26 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (8.9.2.26)
Requirement already satisfied: nvidia-cublas-cu12==12.1.3.1 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.3.1)
Requirement already satisfied: nvidia-cufft-cu12==11.0.2.54 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (11.0.2.54)
Requirement already satisfied: nvidia-curand-cu12==10.3.2.106 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (10.3.2.106)
Requirement already satisfied: nvidia-cusolver-cu12==11.4.5.107 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (11.4.5.107)
Requirement already satisfied: nvidia-cusparse-cu12==12.1.0.106 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.0.106)
Requirement already satisfied: nvidia-nccl-cu12==2.20.5 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (2.20.5)
Requirement already satisfied: nvidia-nvtx-cu12==12.1.105 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from torch->torchmcubes==0.1.0) (12.1.105)
Requirement already satisfied: nvidia-nvjitlink-cu12 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from nvidia-cusolver-cu12==11.4.5.107->torch->torchmcubes==0.1.0) (12.5.82)
Requirement already satisfied: MarkupSafe>=2.0 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from jinja2->torch->torchmcubes==0.1.0) (2.1.5)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /data/Hypothesis/domain/sdf/lib/python3.12/site-packages (from sympy->torch->torchmcubes==0.1.0) (1.3.0)
Building wheels for collected packages: torchmcubes
  Building wheel for torchmcubes (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for torchmcubes (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [45 lines of output]
      *** scikit-build-core 0.9.8 using CMake 3.22.1 (wheel)
      *** Configuring CMake...
      loading initial cache file build/CMakeInit.txt
      -- The CXX compiler identification is GNU 11.4.0
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/g++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Looking for a CUDA compiler
      -- Looking for a CUDA compiler - /usr/local/cuda-12.2/bin/nvcc
      CMake Error at /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:726 (message):
        Compiling the CUDA compiler identification source file
        "CMakeCUDACompilerId.cu" failed.

        Compiler: /usr/local/cuda-12.2/bin/nvcc

        Build flags:

        Id flags: --keep;--keep-dir;tmp;-gencode=arch=compute_,code=sm_ -v

        The output was:

        1

        nvcc fatal : Unsupported gpu architecture 'compute_'

      Call Stack (most recent call first):
        /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:6 (CMAKE_DETERMINE_COMPILER_ID_BUILD)
        /usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake:48 (__determine_compiler_id_test)
        /usr/share/cmake-3.22/Modules/CMakeDetermineCUDACompiler.cmake:298 (CMAKE_DETERMINE_COMPILER_ID)
        CMakeLists.txt:13 (enable_language)

      -- Configuring incomplete, errors occurred!
      See also "/tmp/pip-req-build-4ehs5jdp/build/CMakeFiles/CMakeOutput.log".
      See also "/tmp/pip-req-build-4ehs5jdp/build/CMakeFiles/CMakeError.log".

      *** CMake configuration failed
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for torchmcubes
Failed to build torchmcubes
ERROR: Could not build wheels for torchmcubes, which is required to install pyproject.toml-based projects

After I clone this repo and change: https://github.com/tatsy/torchmcubes/blob/cb81cddece46a8a126b08f7fbb9742f8605eefab/CMakeLists.txt#L12

Modify the native to the specific version. For the RTX4090 is "89". It will work now.

i met the problem too and this solve it

how did you solved it