isl-org / Open3D

Open3D: A Modern Library for 3D Data Processing
http://www.open3d.org
Other
11.54k stars 2.32k forks source link

pytorch Ops dont compile under Windows Cuda 11 - No open3d ML module under Win 10 possible #3495

Open JohnHardline opened 3 years ago

JohnHardline commented 3 years ago

Describe the bug Pytorch Ops don't compile under Windows Cuda 11

Environment (please complete the following information):

JohnHardline commented 3 years ago

Severity Code Description Project File Line Suppression State Error MSB3721 The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin\nvcc.exe" -gencode=arch=compute_35,code=\"sm_35,compute_35\" -gencode=arch=compute_37,code=\"sm_37,compute_37\" -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" -gencode=arch=compute_53,code=\"sm_53,compute_53\" -gencode=arch=compute_60,code=\"sm_60,compute_60\" -gencode=arch=compute_61,code=\"sm_61,compute_61\" -gencode=arch=compute_62,code=\"sm_62,compute_62\" -gencode=arch=compute_70,code=\"sm_70,compute_70\" -gencode=arch=compute_72,code=\"sm_72,compute_72\" -gencode=arch=compute_75,code=\"sm_75,compute_75\" -gencode=arch=compute_80,code=\"sm_80,compute_80\" -gencode=arch=compute_86,code=\"compute_86,compute_86\" -gencode=arch=compute_86,code=\"sm_86,compute_86\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29910\bin\HostX64\x64" -x cu -IH:\Source\C++\open3d\Open3D\cpp -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include" -IH:\Source\C++\open3d\Open3D\3rdparty\cutlass -IH:\Source\C++\open3d\Open3D\3rdparty\nanoflann\include -IH:\Source\C++\open3d\Open3D\3rdparty\parallelstl\include -I"C:\Python39\Lib\site-packages\torch\include" -I"C:\Python39\Lib\site-packages\torch\include\torch\csrc\api\include" -I"C:\Program Files\NVIDIA Corporation\NvToolsExt\include" -IH:\Source\C++\open3d\Open3D\build\mkl_install\include -IH:\Source\C++\open3d\Open3D\3rdparty\Eigen -IH:\Source\C++\open3d\Open3D\3rdparty\fmt\include -IH:\Source\C++\open3d\Open3D\3rdparty\glew\include -IH:\Source\C++\open3d\Open3D\3rdparty\GLFW\include -I"C:\Program Files\NVIDIA Corporation\NvToolsExt\include" -IH:\Source\C++\cuda\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static --expt-extended-lambda --Werror cross-execution-space-call,deprecated-declarations --Werror all-warnings --Werror ext-lambda-captures-this --expt-relaxed-constexpr -Xcudafe --diag_suppress=[550,940,2809] /EHsc /wd4267 /wd4251 /wd4522 /wd4838 /wd4305 /wd4244 /wd4190 /wd4101 /wd4996 /wd4275 /bigobj -std=c++14 -Xcompiler="/EHsc -Ob2 /sdl,/GS,/guard:cf /W4,/WX,/Wv:18,/wd4201,/wd4310,/wd4505,/wd4127,/wd4146,/wd4189,/wd4324,/wd4706,/wd4100,/wd4702,/wd4244,/wd4245,/wd4267,/wd4305," -D_WINDOWS -DNDEBUG -DNOMINMAX -DBUILD_CUDA_MODULE -DBUILD_CACHED_CUDA_MANAGER -DBUILD_GUI -D_GLIBCXX_USE_CXX11_ABI=0 -DWINDOWS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DTBB_LIB_NAME=tbb_static -DFMT_HEADER_ONLY=1 -DGLEW_STATIC -D"CMAKE_INTDIR=\"Release\"" -Dopen3d_torch_ops_EXPORTS -DWIN32 -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -DNDEBUG -DNOMINMAX -DBUILD_CUDA_MODULE -DBUILD_CACHED_CUDA_MANAGER -DBUILD_GUI -D_GLIBCXX_USE_CXX11_ABI=0 -DWINDOWS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DTBB_LIB_NAME=tbb_static -DFMT_HEADER_ONLY=1 -DGLEW_STATIC -D"CMAKE_INTDIR=\"Release\"" -Dopen3d_torch_ops_EXPORTS -D_WINDLL -D_MBCS -Xcompiler "/EHsc /W4 /nologo /O2 /Fdopen3d_torch_ops.dir\Release\vc142.pdb /FS /MD /GR" -o open3d_torch_ops.dir\Release\ContinuousConvCUDAKernels.obj "H:\Source\C++\open3d\Open3D\cpp\open3d\ml\impl\continuous_conv\ContinuousConvCUDAKernels.cu"" exited with code 1. open3d_torch_ops C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA 11.1.targets 785

JohnHardline commented 3 years ago

23>H:\Source\C++\open3d\Open3D\build\cpp\open3d\ml\pytorch>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin\nvcc.exe" -gencode=arch=compute_35,code=\"sm_35,compute_35\" -gencode=arch=compute_37,code=\"sm_37,compute_37\" -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" -gencode=arch=compute_53,code=\"sm_53,compute_53\" -gencode=arch=compute_60,code=\"sm_60,compute_60\" -gencode=arch=compute_61,code=\"sm_61,compute_61\" -gencode=arch=compute_62,code=\"sm_62,compute_62\" -gencode=arch=compute_70,code=\"sm_70,compute_70\" -gencode=arch=compute_72,code=\"sm_72,compute_72\" -gencode=arch=compute_75,code=\"sm_75,compute_75\" -gencode=arch=compute_80,code=\"sm_80,compute_80\" -gencode=arch=compute_86,code=\"compute_86,compute_86\" -gencode=arch=compute_86,code=\"sm_86,compute_86\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29910\bin\HostX64\x64" -x cu -IH:\Source\C++\open3d\Open3D\cpp -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include" -IH:\Source\C++\open3d\Open3D\3rdparty\cutlass -IH:\Source\C++\open3d\Open3D\3rdparty\nanoflann\include -IH:\Source\C++\open3d\Open3D\3rdparty\parallelstl\include -I"C:\Python39\Lib\site-packages\torch\include" -I"C:\Python39\Lib\site-packages\torch\include\torch\csrc\api\include" -I"C:\Program Files\NVIDIA Corporation\NvToolsExt\include" -IH:\Source\C++\open3d\Open3D\build\mkl_install\include -IH:\Source\C++\open3d\Open3D\3rdparty\Eigen -IH:\Source\C++\open3d\Open3D\3rdparty\fmt\include -IH:\Source\C++\open3d\Open3D\3rdparty\glew\include -IH:\Source\C++\open3d\Open3D\3rdparty\GLFW\include -I"C:\Program Files\NVIDIA Corporation\NvToolsExt\include" -IH:\Source\C++\cuda\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static --expt-extended-lambda --Werror cross-execution-space-call,deprecated-declarations --Werror all-warnings --Werror ext-lambda-captures-this --expt-relaxed-constexpr -Xcudafe --diag_suppress=[550,940,2809] /EHsc /wd4267 /wd4251 /wd4522 /wd4838 /wd4305 /wd4244 /wd4190 /wd4101 /wd4996 /wd4275 /bigobj -std=c++14 -Xcompiler="/EHsc -Ob2 /sdl,/GS,/guard:cf /W4,/WX,/Wv:18,/wd4201,/wd4310,/wd4505,/wd4127,/wd4146,/wd4189,/wd4324,/wd4706,/wd4100,/wd4702,/wd4244,/wd4245,/wd4267,/wd4305," -D_WINDOWS -DNDEBUG -DNOMINMAX -DBUILD_CUDA_MODULE -DBUILD_CACHED_CUDA_MANAGER -DBUILD_GUI -D_GLIBCXX_USE_CXX11_ABI=0 -DWINDOWS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DTBB_LIB_NAME=tbb_static -DFMT_HEADER_ONLY=1 -DGLEW_STATIC -D"CMAKE_INTDIR=\"Release\"" -Dopen3d_torch_ops_EXPORTS -DWIN32 -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -DNDEBUG -DNOMINMAX -DBUILD_CUDA_MODULE -DBUILD_CACHED_CUDA_MANAGER -DBUILD_GUI -D_GLIBCXX_USE_CXX11_ABI=0 -DWINDOWS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DTBB_LIB_NAME=tbb_static -DFMT_HEADER_ONLY=1 -DGLEW_STATIC -D"CMAKE_INTDIR=\"Release\"" -Dopen3d_torch_ops_EXPORTS -D_WINDLL -D_MBCS -Xcompiler "/EHsc /W4 /nologo /O2 /Fdopen3d_torch_ops.dir\Release\vc142.pdb /FS /MD /GR" -o open3d_torch_ops.dir\Release\BallQueryKernel.obj "H:\Source\C++\open3d\Open3D\cpp\open3d\ml\pytorch\pointnet\BallQueryKernel.cu" 23>Done building project "open3d_torch_ops.vcxproj" -- FAILED. 23>CUDACOMPILE : nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). 23>nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified 23>CUDACOMPILE : nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). 23>nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified 23>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA 11.1.targets(785,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin\nvcc.exe" -gencode=arch=compute_35,code=\"sm_35,compute_35\" -gencode=arch=compute_37,code=\"sm_37,compute_37\" -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" -gencode=arch=compute_53,code=\"sm_53,compute_53\" -gencode=arch=compute_60,code=\"sm_60,compute_60\" -gencode=arch=compute_61,code=\"sm_61,compute_61\" -gencode=arch=compute_62,code=\"sm_62,compute_62\" -gencode=arch=compute_70,code=\"sm_70,compute_70\" -gencode=arch=compute_72,code=\"sm_72,compute_72\" -gencode=arch=compute_75,code=\"sm_75,compute_75\" -gencode=arch=compute_80,code=\"sm_80,compute_80\" -gencode=arch=compute_86,code=\"compute_86,compute_86\" -gencode=arch=compute_86,code=\"sm_86,compute_86\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29910\bin\HostX64\x64" -x cu -IH:\Source\C++\open3d\Open3D\cpp -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include" -IH:\Source\C++\open3d\Open3D\3rdparty\cutlass -IH:\Source\C++\open3d\Open3D\3rdparty\nanoflann\include -IH:\Source\C++\open3d\Open3D\3rdparty\parallelstl\include -I"C:\Python39\Lib\site-packages\torch\include" -I"C:\Python39\Lib\site-packages\torch\include\torch\csrc\api\include" -I"C:\Program Files\NVIDIA Corporation\NvToolsExt\include" -IH:\Source\C++\open3d\Open3D\build\mkl_install\include -IH:\Source\C++\open3d\Open3D\3rdparty\Eigen -IH:\Source\C++\open3d\Open3D\3rdparty\fmt\include -IH:\Source\C++\open3d\Open3D\3rdparty\glew\include -IH:\Source\C++\open3d\Open3D\3rdparty\GLFW\include -I"C:\Program Files\NVIDIA Corporation\NvToolsExt\include" -IH:\Source\C++\cuda\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static --expt-extended-lambda --Werror cross-execution-space-call,deprecated-declarations --Werror all-warnings --Werror ext-lambda-captures-this --expt-relaxed-constexpr -Xcudafe --diag_suppress=[550,940,2809] /EHsc /wd4267 /wd4251 /wd4522 /wd4838 /wd4305 /wd4244 /wd4190 /wd4101 /wd4996 /wd4275 /bigobj -std=c++14 -Xcompiler="/EHsc -Ob2 /sdl,/GS,/guard:cf /W4,/WX,/Wv:18,/wd4201,/wd4310,/wd4505,/wd4127,/wd4146,/wd4189,/wd4324,/wd4706,/wd4100,/wd4702,/wd4244,/wd4245,/wd4267,/wd4305," -D_WINDOWS -DNDEBUG -DNOMINMAX -DBUILD_CUDA_MODULE -DBUILD_CACHED_CUDA_MANAGER -DBUILD_GUI -D_GLIBCXX_USE_CXX11_ABI=0 -DWINDOWS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DTBB_LIB_NAME=tbb_static -DFMT_HEADER_ONLY=1 -DGLEW_STATIC -D"CMAKE_INTDIR=\"Release\"" -Dopen3d_torch_ops_EXPORTS -DWIN32 -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -DNDEBUG -DNOMINMAX -DBUILD_CUDA_MODULE -DBUILD_CACHED_CUDA_MANAGER -DBUILD_GUI -D_GLIBCXX_USE_CXX11_ABI=0 -DWINDOWS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DTBB_LIB_NAME=tbb_static -DFMT_HEADER_ONLY=1 -DGLEW_STATIC -D"CMAKE_INTDIR=\"Release\"" -Dopen3d_torch_ops_EXPORTS -D_WINDLL -D_MBCS -Xcompiler "/EHsc /W4 /nologo /O2 /Fdopen3d_torch_ops.dir\Release\vc142.pdb /FS /MD /GR" -o open3d_torch_ops.dir\Release\InterpolateKernel.obj "H:\Source\C++\open3d\Open3D\cpp\open3d\ml\pytorch\pointnet\InterpolateKernel.cu"" exited with code 1. 23>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA 11.1.targets(785,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin\nvcc.exe" -gencode=arch=compute_35,code=\"sm_35,compute_35\" -gencode=arch=compute_37,code=\"sm_37,compute_37\" -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" -gencode=arch=compute_53,code=\"sm_53,compute_53\" -gencode=arch=compute_60,code=\"sm_60,compute_60\" -gencode=arch=compute_61,code=\"sm_61,compute_61\" -gencode=arch=compute_62,code=\"sm_62,compute_62\" -gencode=arch=compute_70,code=\"sm_70,compute_70\" -gencode=arch=compute_72,code=\"sm_72,compute_72\" -gencode=arch=compute_75,code=\"sm_75,compute_75\" -gencode=arch=compute_80,code=\"sm_80,compute_80\" -gencode=arch=compute_86,code=\"compute_86,compute_86\" -gencode=arch=compute_86,code=\"sm_86,compute_86\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29910\bin\HostX64\x64" -x cu -IH:\Source\C++\open3d\Open3D\cpp -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include" -IH:\Source\C++\open3d\Open3D\3rdparty\cutlass -IH:\Source\C++\open3d\Open3D\3rdparty\nanoflann\include -IH:\Source\C++\open3d\Open3D\3rdparty\parallelstl\include -I"C:\Python39\Lib\site-packages\torch\include" -I"C:\Python39\Lib\site-packages\torch\include\torch\csrc\api\include" -I"C:\Program Files\NVIDIA Corporation\NvToolsExt\include" -IH:\Source\C++\open3d\Open3D\build\mkl_install\include -IH:\Source\C++\open3d\Open3D\3rdparty\Eigen -IH:\Source\C++\open3d\Open3D\3rdparty\fmt\include -IH:\Source\C++\open3d\Open3D\3rdparty\glew\include -IH:\Source\C++\open3d\Open3D\3rdparty\GLFW\include -I"C:\Program Files\NVIDIA Corporation\NvToolsExt\include" -IH:\Source\C++\cuda\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include" --keep-dir x64\Release -maxrregcount=0 --machine 64 --compile -cudart static --expt-extended-lambda --Werror cross-execution-space-call,deprecated-declarations --Werror all-warnings --Werror ext-lambda-captures-this --expt-relaxed-constexpr -Xcudafe --diag_suppress=[550,940,2809] /EHsc /wd4267 /wd4251 /wd4522 /wd4838 /wd4305 /wd4244 /wd4190 /wd4101 /wd4996 /wd4275 /bigobj -std=c++14 -Xcompiler="/EHsc -Ob2 /sdl,/GS,/guard:cf /W4,/WX,/Wv:18,/wd4201,/wd4310,/wd4505,/wd4127,/wd4146,/wd4189,/wd4324,/wd4706,/wd4100,/wd4702,/wd4244,/wd4245,/wd4267,/wd4305," -D_WINDOWS -DNDEBUG -DNOMINMAX -DBUILD_CUDA_MODULE -DBUILD_CACHED_CUDA_MANAGER -DBUILD_GUI -D_GLIBCXX_USE_CXX11_ABI=0 -DWINDOWS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DTBB_LIB_NAME=tbb_static -DFMT_HEADER_ONLY=1 -DGLEW_STATIC -D"CMAKE_INTDIR=\"Release\"" -Dopen3d_torch_ops_EXPORTS -DWIN32 -D_WINDOWS -D_CRT_SECURE_NO_WARNINGS -DNDEBUG -DNOMINMAX -DBUILD_CUDA_MODULE -DBUILD_CACHED_CUDA_MANAGER -DBUILD_GUI -D_GLIBCXX_USE_CXX11_ABI=0 -DWINDOWS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DTBB_LIB_NAME=tbb_static -DFMT_HEADER_ONLY=1 -DGLEW_STATIC -D"CMAKE_INTDIR=\"Release\"" -Dopen3d_torch_ops_EXPORTS -D_WINDLL -D_MBCS -Xcompiler "/EHsc /W4 /nologo /O2 /Fdopen3d_torch_ops.dir\Release\vc142.pdb /FS /MD /GR" -o open3d_torch_ops.dir\Release\BallQueryKernel.obj "H:\Source\C++\open3d\Open3D\cpp\open3d\ml\pytorch\pointnet\BallQueryKernel.cu"" exited with code 1. 23>Done building project "open3d_torch_ops.vcxproj" -- FAILED.

ssheorey commented 3 years ago

PyTorch and Tensorflow Ops are not supported under Windows. Please create a PR if you are able to get things working.

ma7555 commented 2 years ago

Spent a lot of time trying to build TF OPS on windows.. gave up too

Buffyqsf commented 1 year ago

Not only TF and OPS, I found it unable to get GUDA support on windows. Don't know if it's fit now.

ssheorey commented 1 year ago

@Buffyqsf CUDA should build and run fine in Windows - please create a specific issue / PR to fix anything that doesn't work.