Vincenzo Innocente (CERN)
Transcendental mathematical functions are one of the main hot-spots of scientific applications. The usage of highly optimised, general purpose mathematical libraries can mitigate this issue. On the other hand, a more comprehensive solution is represented by the replacement of the generic mathematical functions by specific implementations targeting particular subdomains only. CptnHook is a tool that helps achieving this goal allowing to monitor the input values of mathematical functions used in a given application, categorised according to the stacktraces leading to their invocations. In this contribution we describe the design of CptnHook, the data format of its profile and how it is possible to perform measurements without instrumenting the users code and imposing the need of recompilation. We demonstrate that this approach scales on production workflows of LHC experiments and characterise a set of real life measurements, showing where opportunities for improvement lie and how the tool can be used for advanced debugging. We also illustrate how elegant summaries of the measurements can be produced and how ROOT based analysis of the profiles can be performed.
Danilo Piparo (CERN) Vincenzo Innocente (CERN)