Benchmarking
it’s important to benchmark so you know the true performance.
This is Performance Test?
Resources
From my experience at NVIDIA in the context of ROS, I break the test in 2 parts:
- Test for memory utilization by testing idle nodes (no data being fed in)
- You can check how much memory a process is using simply by idling, i.e. when there are no computation operations
- Test for CPU utilization by feeding in data (ex: camera images)
- Now, there is actual computation, so the CPU needs to do those operations
Frameworks
Benchmarking GPU
You should use the time directly on the GPU.
https://stackoverflow.com/questions/47168542/cudaeventsynchronize-vs-cudadevicesynchronize