It might be the right way to profile the code and as I said, I’m not familiar enough with the output and think that the CPU time might be accumulated during the GPU runtime.
I usually use markers and nprof/nsys, as it gives me finer-grained control over the methods I would like to profile.
You could use nvtx markers 5 and have a look at this code snippet 9 for an example use case.
You can find more information about nsight systems here 3.