celeritas-project / celeritas

Celeritas is a new Monte Carlo transport code designed to accelerate scientific discovery in high energy physics by improving detector simulation throughput and energy efficiency using GPUs.
https://celeritas-project.github.io/celeritas/user/index.html
Other
58 stars 32 forks source link

Integrate Perfetto as backend for ScopedProfiling #1238

Closed esseivaju closed 1 month ago

esseivaju commented 1 month ago

Add Perfetto as an external dependency. It can be used as a backend for the existing ScopedProfiling when CUDA and HIP are disabled. The two main additions are:

Since Perfetto system-level tracing requires Linux and root privileges, it can't be used on most clusters, so this also provides a Dockerfile for a development container that can be used on non-Linux hosts.

esseivaju commented 1 month ago

I'm not sure why doxygen isn't happy with the documentation

esseivaju commented 1 month ago

Here's an example of application and system traces: traces.tar.gz

I've noticed that on my laptop (16 cores) if I use the in-process mode and max out the CPU with 16 OpenMP threads, some data is lost. It doesn't happen when using the system mode.

esseivaju commented 1 month ago

@sethrj I'll update the CMake integration once #1253 is merged. Other than that it should be ready for a second look.