NVIDIA / gvdb-voxels

Sparse volume compute and rendering on NVIDIA GPUs
Other
672 stars 144 forks source link

Error thrown in RebuildTopology() #127

Open CWOA opened 2 years ago

CWOA commented 2 years ago

Hi there,

I'm trying to do a full topology rebuild (i.e. gvdb_.RebuildTopology(...)) over a point cloud I've generated as a thrust::device_vector<float3>. I've created a DataPtr handle for the device vector via:

DataPtr data_ptr;
gvdb_.SetDataGPU(data_ptr,
                 num_points,
                 reinterpret_cast<CUdeviceptr>(point_cloud.data().get()),
                 0,
                 sizeof(float3));

And I've set those points via:

DataPtr vel, clr;
gvdb_.SetPoints(data_ptr, vel, clr);

However, when calling RebuildTopology() via:

gvdb_.RebuildTopology(num_points, TRUNCATION_DIST * 200, {0, 0, 0});

I get the following crash:

unknown file: Failure
C++ exception with description "radix_sort: failed on 2nd step: cudaErrorInvalidValue: invalid argument" thrown in SetUp().

which I'm guessing is being caused by this call. Has anyone had this issue / any suggestions?