tiny-cuda-nn icon indicating copy to clipboard operation
tiny-cuda-nn copied to clipboard

Error when building bindings/torch

Open qbhan opened this issue 3 years ago • 0 comments

Hello.

First of all, thank you for releasing this cool work. I read the recent works and found this release.

I have successfully built the tiny-cuda-nn and ran mlp_learning_an_image and checked that it work. However, I'm facing the following error when building bindings/torch.

tinycudann/bindings.cpp: In function ‘void* void_data_ptr(at::Tensor&)’: tinycudann/bindings.cpp:60:48: error: expected primary-expression before ‘float’ case torch::kFloat32: return tensor.data_ptr(); ^~~~~ tinycudann/bindings.cpp:60:48: error: expected ‘;’ before ‘float’ tinycudann/bindings.cpp:60:53: error: expected unqualified-id before ‘>’ token case torch::kFloat32: return tensor.data_ptr(); ^ tinycudann/bindings.cpp:61:56: error: expected primary-expression before ‘>’ token case torch::kHalf: return tensor.data_ptrtorch::Half(); ^ tinycudann/bindings.cpp:61:58: error: expected primary-expression before ‘)’ token case torch::kHalf: return tensor.data_ptrtorch::Half(); ^ tinycudann/bindings.cpp: In member function ‘std::tuple<tcnn::cpp::Context, at::Tensor> Module::fwd(at::Tensor, at::Tensor)’: tinycudann/bindings.cpp:96:59: error: expected primary-expression before ‘float’ m_module->inference(stream, batch_size, input.data_ptr(), void_data_ptr(output), void_data_ptr(params)); ^~~~~ tinycudann/bindings.cpp:98:63: error: expected primary-expression before ‘float’ ctx = m_module->forward(stream, batch_size, input.data_ptr(), void_data_ptr(output), void_data_ptr(params), input.requires_grad()); ^~~~~ tinycudann/bindings.cpp: In member function ‘std::tuple<at::Tensor, at::Tensor> Module::bwd(const tcnn::cpp::Context&, at::Tensor, at::Tensor, at::Tenr)’: tinycudann/bindings.cpp:161:48: error: expected primary-expression before ‘float’ input.requires_grad() ? dL_dinput.data_ptr() : nullptr, ^~~~~ tinycudann/bindings.cpp:161:48: error: expected ‘:’ before ‘float’ tinycudann/bindings.cpp:161:48: error: expected primary-expression before ‘float’ tinycudann/bindings.cpp:164:20: error: expected primary-expression before ‘float’ input.data_ptr(), ^~~~~ tinycudann/bindings.cpp: In member function ‘at::Tensor Module::initial_params(size_t)’: tinycudann/bindings.cpp:175:53: error: expected primary-expression before ‘float’ m_module->initialize_params(seed, output.data_ptr()); ^~~~~ error: command 'gcc' failed with exit status 1

I googled about this kind of error, and it says its about the wrong use of types. However, I feel like there's nothing wrong with the code.

I've read #48, but it seems the problem is not the same.

I'm having a strong suspicion

My configuration is as below. ubuntu 18.04 RTX8000 Driver version cuda 11.0 torch 1.2.1

Thank you in advance!

qbhan avatar Mar 03 '22 14:03 qbhan