ThibaultGROUEIX / ChamferDistancePytorch

Chamfer Distance in Pytorch with f-score
MIT License
326 stars 43 forks source link

Doesn't work with cpuonly pytorch install #24

Closed kampelmuehler closed 2 years ago

kampelmuehler commented 2 years ago
File "/home/***/miniconda3/envs/***/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1626, in _get_cuda_arch_flags
    arch_list[-1] += '+PTX'
IndexError: list index out of range

pytorch is at 1.11. This happens when trying to jit the kernel

https://github.com/ThibaultGROUEIX/ChamferDistancePytorch/blob/master/chamfer3D/dist_chamfer_3D.py#L15

calling load() with with_cuda=False causes the build to fail

Traceback (most recent call last):
  File "/home/***/miniconda3/envs/***/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1746, in _run_ninja_build
    env=env)
  File "/home/***/miniconda3/envs/***/lib/python3.7/subprocess.py", line 512, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/***/miniconda3/envs/***/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/***/miniconda3/envs/***/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/***/lib/lightning.py", line 20, in <module>
    from lib.ChamferDistancePytorch.chamfer3D import dist_chamfer_3D
  File "/home/***/lib/ChamferDistancePytorch/chamfer3D/dist_chamfer_3D.py", line 19, in <module>
    ], build_directory=build_path, with_cuda=False)
  File "/home/***/miniconda3/envs/***/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1156, in load
    keep_intermediates=keep_intermediates)
  File "/home/***/miniconda3/envs/***/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1367, in _jit_compile
    is_standalone=is_standalone)
  File "/home/***/miniconda3/envs/***/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1472, in _write_ninja_file_and_build_library
    error_prefix=f"Error building extension '{name}'")
  File "/home/***/miniconda3/envs/***/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1756, in _run_ninja_build
    raise RuntimeError(message) from e
RuntimeError: Error building extension 'chamfer_3D': [1/2] c++ -MMD -MF chamfer3D.o.d -DTORCH_EXTENSION_NAME=chamfer_3D -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /home/***/miniconda3/envs/***/lib/python3.7/site-packages/torch/include -isystem /home/***/miniconda3/envs/***/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /home/***/miniconda3/envs/***/lib/python3.7/site-packages/torch/include/TH -isystem /home/***/miniconda3/envs/***/lib/python3.7/site-packages/torch/include/THC -isystem /home/***/miniconda3/envs/***/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -c /home/***/lib/ChamferDistancePytorch/chamfer3D/chamfer3D.cu -o chamfer3D.o 
c++: warning: /home/***/lib/ChamferDistancePytorch/chamfer3D/chamfer3D.cu: linker input file unused because linking not done
[2/2] c++ chamfer_cuda.o chamfer3D.o -shared -L/home/***/miniconda3/envs/***/lib/python3.7/site-packages/torch/lib -lc10 -ltorch_cpu -ltorch -ltorch_python -o chamfer_3D.so
FAILED: chamfer_3D.so 
c++ chamfer_cuda.o chamfer3D.o -shared -L/home/***/miniconda3/envs/***/lib/python3.7/site-packages/torch/lib -lc10 -ltorch_cpu -ltorch -ltorch_python -o chamfer_3D.so
c++: error: chamfer3D.o: No such file or directory
ninja: build stopped: subcommand failed.

I suppose this repo can only be used with CUDA?

kampelmuehler commented 2 years ago

nevermind, I was oblivious of https://github.com/ThibaultGROUEIX/ChamferDistancePytorch/blob/master/chamfer_python.py