qdLMF/VINS-Fusion-GPU-BA

Run Environmental

WuZihao12 opened this issue · 12 comments

Thank you for your excellent work. I would like to ask if your operating environment is ubuntu20.04 or 18.04?

qdLMF commented

Thank you for your attention. Ubuntu-18.04, ROS Melodic.

Which version of cuda are you using? I ran your job successfully using 11.0. But serious drift occurred on the MH01 data set.

qdLMF commented

CUDA 11.0

qdLMF commented

What is your GPU's compute ability?

My graphics card is the 3060 on my laptop, with a computing power of 86.

Restart the computer and the following problem occurs after re-running (cuda:11.0):
image

qdLMF commented

It might be a problem with atomic add.
My GPU is only 5.2. If your GPU's compute capability is >= 6.0, your may have to do some changes to MyAtomicAdd() in device_utils.cu as "How To Build" section in README instructs.
Or, check if your enviroment has the macro __CUDA_ARCH__ defined, if it is defined and >= 600, compiler should generate a specialized version of MyAtomicAdd() using CUDA's atomicAdd(). I don't have a GPU with compute capability >= 6.0, so I never tested if it works.
Anyway, for details info about MyAtomicAdd(), please check it's implementation in device_utils.cu.

Although my computing power exceeds 60, I put The #if CUDA_ARCH < 600 macro is commented out, but the current one is still used. But it still gives the following error:
image

qdLMF commented

I'm sorry that I cannot think of any solution for now. Debugging really have exhausted me when I was building this implementation. When I was debugging it, I just used the most naive way, that is, printing out all elements of all matrices along the way to txt files and check if there's any NAN.

Still want to thank you for your great work!

qdLMF commented

Thank you for your attention.