pyhf Hardware Acceleration Benchmarking with GPUS and TPUs


High Energy Physics analyses are performed with statistical computations to ascertain the compatibility of the reported results with the existing Standard Model. These computed likelihood fits are performed using tools implemented in ROOT such as RooFit and RooStats. In many cases, a binned, asymptotic likelihood fit is performed following a mathematical p.d.f. template called HistFactory. This HistFactory p.d.f. template is per-se independent of its implementation in ROOT and it is useful to be able to run statistical analysis outside of the ROOT, RooFit, RooStats framework. The pyhf library is a pure-python implementation of that statistical model for multi-bin histogram-based analysis and its interval estimation is based on the asymptotic formulas of “Asymptotic formulae for likelihood-based tests of new physics”. pyhf supports modern computational graph libraries such as TensorFlow and PyTorch in order to make use of features such as autodifferentiation and GPU acceleration.

The goal of the project is to develop a benchmarking suite in Python to test and benchmark the performance increase of the hardware accelerated backends on GPUs and TPUs on openly published physics data from LHC experiments [10.17182/hepdata.89408, 10.17182/hepdata.92006]. The benchmarking suite would preferably be written as a pytest module.

Task ideas

Expected results

By the end of Summer 2020, we would like to have a benchmarking suite written in Python (preferably using pytest) that can test and compare the performance of all the pyhf computational backends in fitting openly published likelihoods from the LHC. This will require modularity in the benchmarking suite to allow it to be used on new data. There is particular interest in also having the student use the benchmarking suite they developed to evaluate the performance of hardware accelerated pyhf on GPUs and TPUs, along with detailed documentation and a report for the pyhf website.

Evaluation tasks

Contact the mentors for a task that can be used to evaluate candidates. Contributing a “good first issue” PR to pyhf would be a rather advanced form of evaluation, but would also be an excellent test of how the student would work with the core developer team.



Corresponding Project

Participating Organizations