Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build pytorch extension under ubuntu #72

Closed
Jiakui opened this issue Mar 28, 2022 · 6 comments
Closed

build pytorch extension under ubuntu #72

Jiakui opened this issue Mar 28, 2022 · 6 comments

Comments

@Jiakui
Copy link

Jiakui commented Mar 28, 2022

Can we build pytorch extension under ubuntu? It seems that we can only build pytorch extension under Windows.

Thanks

@Tom94
Copy link
Collaborator

Tom94 commented Mar 28, 2022

They should build fine on Linux. If you run into a compile error, please feel free to report it (along with information about compiler, driver, graphics card, and OS versions) so I can take a closer look. Thanks!

@gyupro
Copy link

gyupro commented Mar 29, 2022

image

image

I can't compile it. I attatched the errors that I encountered.

Thank you

@Tom94
Copy link
Collaborator

Tom94 commented Mar 29, 2022

Could you attach a full log (in textual format rather than screenshot)? The screenshot only spells out that the compilation failed, but not why it did. Cheers!

@gyupro
Copy link

gyupro commented Mar 31, 2022

Thank you for your prompt response!.

I attachted my error log!

I can't wait to explore nvdifferec, help wanted.

cheers!

python setup.py install
Building PyTorch extension for tiny-cuda-nn version 1.5
Targeting compute capability 70
running install
running bdist_egg
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'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
building 'tinycudann_bindings._C' extension
Emitting ninja build file /home/ubuntu/workspace/eer/tiny-cuda-nn/bindings/torch/build/temp.linux-x86_64-3.8/build.ninja...
Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
[1/1] c++ -MMD -MF /home/ubuntu/workspace/err/tiny-cuda-nn/bindings/torch/build/temp.linux-x86_64-3.8/tinycudann/bindings.o.d -pthread -B /home/ubuntu/anaconda3/envs/KAIR/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/ubuntu/workspace/err/tiny-cuda-nn/include -I/home/ubuntu/workspace/err/tiny-cuda-nn/dependencies -I/home/ubuntu/workspace/err/tiny-cuda-nn/dependencies/cutlass/include -I/home/ubuntu/workspace/err/tiny-cuda-nn/dependencies/cutlass/tools/util/include -I/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include -I/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include/TH -I/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/ubuntu/anaconda3/envs/KAIR/include/python3.8 -c -c /home/ubuntu/workspace/err/tiny-cuda-nn/bindings/torch/tinycudann/bindings.cpp -o /home/ubuntu/workspace/err/tiny-cuda-nn/bindings/torch/build/temp.linux-x86_64-3.8/tinycudann/bindings.o -std=c++14 -DTCNN_MIN_GPU_ARCH=70 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0
FAILED: /home/ubuntu/workspace/err/tiny-cuda-nn/bindings/torch/build/temp.linux-x86_64-3.8/tinycudann/bindings.o
c++ -MMD -MF /home/ubuntu/workspace/err/tiny-cuda-nn/bindings/torch/build/temp.linux-x86_64-3.8/tinycudann/bindings.o.d -pthread -B /home/ubuntu/anaconda3/envs/KAIR/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/ubuntu/workspace/err/tiny-cuda-nn/include -I/home/ubuntu/workspace/err/tiny-cuda-nn/dependencies -I/home/ubuntu/workspace/err/tiny-cuda-nn/dependencies/cutlass/include -I/home/ubuntu/workspace/err/tiny-cuda-nn/dependencies/cutlass/tools/util/include -I/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include -I/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include/TH -I/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda/include -I/home/ubuntu/anaconda3/envs/KAIR/include/python3.8 -c -c /home/ubuntu/workspace/err/tiny-cuda-nn/bindings/torch/tinycudann/bindings.cpp -o /home/ubuntu/workspace/err/tiny-cuda-nn/bindings/torch/build/temp.linux-x86_64-3.8/tinycudann/bindings.o -std=c++14 -DTCNN_MIN_GPU_ARCH=70 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0
cc1plus: warning: command line option ��-Wstrict-prototypes�� is valid for C/ObjC but not for C++
In file included from /home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include/ATen/Parallel.h:140:0,
from /home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/utils.h:3,
from /home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/cloneable.h:5,
from /home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn.h:3,
from /home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:13,
from /home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include/torch/extension.h:4,
from /home/ubuntu/workspace/err/tiny-cuda-nn/bindings/torch/tinycudann/bindings.cpp:35:
/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/include/ATen/ParallelOpenMP.h:87:0: warning: ignoring #pragma omp parallel [-Wunknown-pragmas]
#pragma omp parallel for if ((end - begin) >= grain_size)
^
/home/ubuntu/workspace/err/tiny-cuda-nn/bindings/torch/tinycudann/bindings.cpp: In member function �쁲td::tuple<tcnn::cpp::Context, at::Tensor> Module::fwd(at::Tensor, at::Tensor)��:
/home/ubuntu/workspace/err/tiny-cuda-nn/bindings/torch/tinycudann/bindings.cpp:97:35: error: converting to �쁲td::tuple<tcnn::cpp::Context, at::Tensor>�� from initializer list would use explicit constructor �쁟onstexpr std::tupleT1, _T2>::tuple(_U1&&, _U2&&) [with _U1 = tcnn::cpp::Context; _U2 = at::Tensor&; = void; _T1 = tcnn::cpp::Context; _T2 = at::Tensor]��
return { std::move(ctx), output };
^
/home/ubuntu/workspace/err/tiny-cuda-nn/bindings/torch/tinycudann/bindings.cpp: In member function �쁲td::tuple<at::Tensor, at::Tensor> Module::bwd(const tcnn::cpp::Context&, at::Tensor, at::Tensor, at::Tensor, at::Tensor)��:
/home/ubuntu/workspace/err/tiny-cuda-nn/bindings/torch/tinycudann/bindings.cpp:146:34: error: converting to �쁲td::tuple<at::Tensor, at::Tensor>�� from initializer list would use explicit constructor �쁟onstexpr std::tuple<_T1, _>::tuple(_U1&&, _U2&&) [with _U1 = at::Tensor&; _U2 = at::Tensor&; = void; _T1 = at::Tensor; _T2 = at::Tensor]��
return { dL_dinput, dL_dparams };
^
/home/ubuntu/workspace/err/tiny-cuda-nn/bindings/torch/tinycudann/bindings.cpp: In member function �쁲td::tuple<at::Tensor, at::Tensor, at::Tensor> Module::bwd_bwd_input(const tcnn::cpp::Context&, at::Tensor, at::Tensor, at::Tensr, at::Tensor)��:
/home/ubuntu/workspace/err/tiny-cuda-nn/bindings/torch/tinycudann/bindings.cpp:205:47: error: converting to �쁲td::tuple<at::Tensor, at::Tensor, at::Tensor>�� from initializer list would use explicit constructor �쁟onstexpr std::ple< >::tuple(_UElements&& ...) [with _UElements = {at::Tensor&, at::Tensor&, at::Tensor&}; = void; _Elements = {at::Tensor, at::Tensor, at::Tensor}]��
return {dL_ddLdoutput, dL_dparams, dL_dinput};
^
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1666, in _run_ninja_build
subprocess.run(
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/subprocess.py", line 516, in run
raise CalledProcessError(retcode, process.args,
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 "setup.py", line 117, in
setup(
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/setuptools/init.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/setuptools/command/install.py", line 67, in run
self.do_egg_install()
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/setuptools/command/install.py", line 109, in do_egg_install
self.run_command('bdist_egg')
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 164, in run
cmd = self.call_command('install_lib', warn_dir=0)
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/setuptools/command/bdist_egg.py", line 150, in call_command
self.run_command(cmdname)
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/setuptools/command/install_lib.py", line 11, in run
self.build()
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/distutils/command/install_lib.py", line 107, in build
self.run_command('build_ext')
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 79, in run
_build_ext.run(self)
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/Cython-0.29.7-py3.8-linux-x86_64.egg/Cython/Distutils/old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 709, in build_extensions
build_ext.build_extensions(self)
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/Cython-0.29.7-py3.8-linux-x86_64.egg/Cython/Distutils/old_build_ext.py", line 194, in build_extensions
self.build_extension(ext)
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 202, in build_extension
_build_ext.build_extension(self, ext)
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/distutils/command/build_ext.py", line 528, in build_extension
objects = self.compiler.compile(sources,
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 530, in unix_wrap_ninja_compile
_write_ninja_file_and_compile_objects(
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1355, in _write_ninja_file_and_compile_objects
_run_ninja_build(
File "/home/ubuntu/anaconda3/envs/KAIR/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1682, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension

@gyupro
Copy link

gyupro commented Apr 1, 2022

Sorry, my problem has been figured out by fixing gcc version and cmake version.

I missed that version specification

@Tom94 Tom94 closed this as completed Jul 13, 2022
@XiaoKangW
Copy link

cmake version.

Hi, i meet same problem with you. and could you tell me which version of gcc and cmake was used finally?
Thanks in advance!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants