Skip to content

Build ROOT with ImplicitMT and FFTW3#18

Draft
lmeyergarcia wants to merge 12 commits into
masterfrom
lmg_misid_validation_fit
Draft

Build ROOT with ImplicitMT and FFTW3#18
lmeyergarcia wants to merge 12 commits into
masterfrom
lmg_misid_validation_fit

Conversation

@lmeyergarcia
Copy link
Copy Markdown

@lmeyergarcia lmeyergarcia commented Apr 26, 2024

  • Enable root's ImplicitMT, which can speed up downstream code execution.
    • Implicit multi-threading allows multi-threaded execution in some root classes (e.g. TH1, TTree and RDataFrame). Note that it must still be enabled during execution by calling ROOT::EnableImplicitMT().
  • Enable FFTW3 when building root. This is necessary to perform fast PDF convolutions with RooFFTConvPdf.
  • Enable root parallel building. By default, seems to set the number of compilation jobs to the number of available threads. However, this behavior can be controlled with the --cores flag.
  • Implement custom RooFit PDF RooPowerLaw, defined as $(x - x_0)^c$. Note that starting with ROOT v6.32, RooFit includes the PDF RooPowerSum, which in principle makes this patch unecessary. However, to shift the threshold with RooPowerSum ones needs to transform the observable with RooFormulaVar or RooLinearVar, which triggers numeric integration and slows down the fit. This is not the case with RooPowerLaw.
  • Patch RooHistPdf so that it recognizes RooLinearVar as an object with constant jacobian (based on this patch). This allows RooHistPdf to still use analytical integration when its observables are transformed via RooLinearVar. Note that this (and other improvements) are included starting with ROOT v6.30.

@lmeyergarcia lmeyergarcia force-pushed the lmg_misid_validation_fit branch from 6cad98e to e502aef Compare April 26, 2024 13:50
@lmeyergarcia lmeyergarcia force-pushed the lmg_misid_validation_fit branch from a83b1f8 to ca01222 Compare August 23, 2024 10:08
@lmeyergarcia lmeyergarcia changed the title WIP Speedup downstream code Build ROOT with ImplicitMT and FFTW3 Jan 7, 2025
@lmeyergarcia lmeyergarcia force-pushed the lmg_misid_validation_fit branch from 04c2287 to 7204ef4 Compare May 6, 2025 17:51
@lmeyergarcia lmeyergarcia changed the title Build ROOT with ImplicitMT and FFTW3 Draft: Build ROOT with ImplicitMT and FFTW3 Oct 2, 2025
@lmeyergarcia lmeyergarcia marked this pull request as draft October 2, 2025 15:38
@lmeyergarcia lmeyergarcia changed the title Draft: Build ROOT with ImplicitMT and FFTW3 Build ROOT with ImplicitMT and FFTW3 Oct 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant