Open icoderaven opened 5 years ago
It may be an issue in CuDPP.
Even after the move away from cudpp, this error still shows up while using thrust (specifically when casting the device pointer to host in gvdb_cutils.cu
) but seems to be not much of an in issue. I'm not sure if there are performance/safety implications, however.
Ah, that's interesting to hear! I'll probably see if I can take time to run through it and see where Thrust is using uninitialized memory soon. (You probably noticed that I closed most of the issues that were about CUDPP earlier today - I left this one open because it seemed like it could still be an issue, so that's good to hear!)
I remember looking at it a couple of weeks back, and there were two instances - First, in createLinearMem initcheck complained about not initialising memory - I think that was benign, not sure how much of an impact memsetting it to 0 would have (didn't profile) Second was the location I mentioned, and I suspect it's got to do with unified memory used in thrust, but I don't have much experience there, so I left it there and didn't update this thread. Your recent activity did cause me to post, as you correctly guessed!
BTW, I think I buried this in one of my previous issues that I closed two weeks back, but in AccumulateTopology, when adding a new set of points that would increase the spanning cover and requiring a new root node to be created, the library segfaults. I wrote a quick fix that works for now for me that involves reparenting the root node, but might be worth a second look (and I think should definitely merged into mainline) https://github.com/icoderaven/gvdb-voxels/commit/b3256a921deed84995ab74f1bd726616a1d804e7
Hi @ramakarl
In the process of trying to debug my application today, I ran cuda-memcheck with
cuda-memcheck --tool initcheck
and discovered that when using AccumulateTopology() I get a whole host of global reads for uninitialized memory. To replicate, this is easily seen if running it on the gPointFusion examplecuda-memcheck --tool initcheck ./gPointFusion
Is this a bug? I don't see this when using RebuildTopology(), but I'd much rather not write additional logic to store the active brick center locations and then add a new point cloud to those points.Tracing back the error message it seems like something from within the RadixSort CuDPP methods.