As for compilation issues - i agree the compilation is not very simple and can result in various unexpected errors, mostly due to the complexity of Cuda / gcc / nvcc.
I have very limited knowledge of Cuda compilation / makefiles, however i did the best i could to describe the compilation process in Quick Setup section, and fully tested the project on two different Nvidia GPUs (Ubuntu 22.04)
I can suggest compiling the Nvidia Cuda sample project (
https://github.com/NVIDIA/cuda-samples)
It is an excellent source of information about building cuda projects - and explains many different edge cases.