ginkgo
ginkgo copied to clipboard
Add support for profiler hooks in logger
Tools like TAU or NVIDIA Toolkit Extensions allow applications to log custom events/phases in a nested fashion. We could profit from their tooling by providing loggers wrapping this functionality.
This is definitely a good idea. I think we already had some effort from @tcojean using PAPI with software defined events.
Additionally, there are a few libraries that can abstract this for different backends as well. This would allow us to for example to have a common instrumentation functions in our code and have that work for different backends that the library uses. Just to mention some libraries which might be useful for this:
- Tau,
- Score-P
- Caliper.
Of course, we always have the option of using the profiler API that Nvidia and ROCM (and DPC++ ? ) provide, but that might be more work and maintenance.
likwid (https://github.com/RRZE-HPC/likwid) also allows adding sections in your code.