[CERN Summer Student Project] TMVA BDT Benchmarking - #231
Merged
Conversation
lmoneta
self-requested a review
August 5, 2021 08:26
Contributor
Author
|
At the present moment, the memory statistics reported are not necessarily correct. For this reason, reporting of such statistics can be turned off. |
Benchmark the training of TMVA BDT classifiers over a grid of NTrees and MaxDepth configurations, and their batch inference via TMVA::Experimental::RReader. Also add the MakeRandomTTree.h header providing a convenience function to generate random TTree instances, based on the random TTree generator in CrossValidationBenchmarks.cxx. This squashes the commits from the CERN summer student project by Xandru Mifsud, supervised by Lorenzo Moneta (PR root-project#231).
As noted in the original PR, the reported memory statistics were not necessarily correct: they were sampled only on the first iteration and then rescaled by the iteration count, which does not measure what the counter name suggests.
ROOT::EnableImplicitMT() has no effect if implicit multi-threading is already enabled, so only the very first configuration determined the size of the thread pool and the thread count axis produced duplicated measurements. Properly re-enabling IMT per configuration does not help either: neither the BDT training nor the RReader inference scale with the IMT pool size at this problem size, so drop the axis instead of fixing it. This reduces the number of configurations from 160 to 40.
Write the ROOT files produced during the benchmarks to RB_TEMP_FS like the other benchmarks, drop the unused output file of the testing benchmark, and skip the testing benchmark with a clear error instead of crashing if the weight files from the training benchmark are missing. Also replace a variable-length array, which is not standard C++.
guitargeek
force-pushed
the
xmif1_bdt_benchmarking
branch
from
September 3, 2026 20:46
89e7a10 to
8cdaaab
Compare
guitargeek
approved these changes
Sep 3, 2026
guitargeek
left a comment
Contributor
There was a problem hiding this comment.
Thank you very much for this summer student work!
guitargeek
pushed a commit
that referenced
this pull request
Sep 3, 2026
Benchmark the training of TMVA BDT classifiers over a grid of NTrees and MaxDepth configurations, and their batch inference via TMVA::Experimental::RReader. Also add the MakeRandomTTree.h header providing a convenience function to generate random TTree instances, based on the random TTree generator in CrossValidationBenchmarks.cxx. This squashes the commits from the CERN summer student project by Xandru Mifsud, supervised by Lorenzo Moneta (PR #231).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Includes the header file MakeRandomTTree.h providing a convenience function which facilitates the generation of random TTree instances, based on the random TTree generator in CrossValidationBenchmarks.cxx. If suitable, CrossValidationBenchmarks.cxx may now be modified to use MakeRandomTTree.h