Contributor
Alejandro GarcĂ­a Montoro

Improvements in vectorization and parallelization of ROOT Math libraries


Mentors
Xavier Valls, Lorenzo Moneta
Organization
CERN-HSF

ROOT is a data analysis software used by scientists all over the world; therefore, its efficiency is critical for the scientific community in general and for CERN in particular. This project aims to improve the efficiency of one of the most used ROOT features: the mathematical functions and the fitting methods, which will be accomplished by making the corresponding code vectorized and/or parallelized. The main tasks that will be covered during the coding period are:

  • Complete the parallelization and vectorization of all the fitting methods available in ROOT: Chi2FCN, LogLikelihoodFCN and PoissonLikelihoodFCN.
  • Adapt the gradient function interfaces for thread-based parallelization and vectorization.
  • Vectorize TFormula and predefined ROOT functions (gaus, landau, expo, crystalball, ...).
  • Vectorize the most used mathematical and statistical functions in ROOT::TMath and TMath.

If time allows it, the special and statistical functions implemented in ROOT will be also vectorized and/or parallelized.