Closed nickludlam closed 1 year ago
I have resolved that issue by removing const
from at::Tensor
in raymaching.cu
.
Here is a diff:
--- a/raymarching/src/raymarching.cu
+++ b/raymarching/src/raymarching.cu
@@ -905,7 +905,7 @@ __global__ void kernel_composite_rays(
}
-void composite_rays(const uint32_t n_alive, const uint32_t n_step, const float T_thresh, at::Tensor rays_alive, at::Tensor rays_t, const at::Tensor sigmas, const at::Tensor rgbs, const at::Tensor deltas, at::Tensor weights, at::Tensor depth, at::Tensor image) {
+void composite_rays(const uint32_t n_alive, const uint32_t n_step, const float T_thresh, at::Tensor rays_alive, at::Tensor rays_t, at::Tensor sigmas, at::Tensor rgbs, at::Tensor deltas, at::Tensor weights, at::Tensor depth, at::Tensor image) {
@thorikawa Amazing, that's exactly the issue! Thank you so much. I guess this patch should be applied to the main repo?
Thanks! I haven't tested on Windows yet. Strangely this bug can run on ubuntu... I will fix it soon.
--- a/raymarching/src/raymarching.cu
The file didn't have that line of code for me sadly, so nothing to replace, and no idea where to put the code :P
I've got an issue when I try to build the raymarching module, whereas all the others build cleanly.
The exact output I see is here:
The main issue looks to be related to the
composite_rays()
method. When it's linking the object file, the namespace suffix looks to be different to what it expects.The symbol it wants is:
(?composite_rays@@YAXIIMVTensor@at@@0000000@Z)
whereas the symbol it has is:(?composite_rays@@YAXIIMVTensor@at@@0V12@11000@Z)
I don't know why it's inserting the extra
0V12@
.I've tried some obvious things like playing with the arguments, but since shencoder, freqencoder and gridencoder all work, I'm stuck, as I'm not particularly familiar with the CUDA build process.
I've got CUDA 11.8 installed, but am using 11.6 within the Anaconda/Python environment, and Python is 3.9.13. PyTorch is 1.12.1.
I understand from the README that this has been tested on Linux, so this might be a long shot.