Adding scanner plugin for paraprof scanner#600
Open
anderkve wants to merge 7 commits into
Open
Conversation
…-plugin-UlzKE
Brings in the paraprof-specific changes from the earlier UlzKE branch that
were not present on this branch. The newer gambit_paraprof.py plugin already
on paraprof_plugin is kept verbatim (it tracks the current paraprof API).
Added:
- cmake/python_scanners.cmake: register paraprof for the Python module
availability check.
- yaml_files/spartan_5d.yaml: 5D Rosenbrock paraprof test scan using
trivial_5d / rosenbrock from ObjectivesBit.
- yaml_files/plot_spartan_5d_paraprof_2D.py: plotting helper for the 5D
test's 2D projections.
- yaml_files/spartan.yaml: paraprof entry alongside the other example
scanners.
The CMakeLists.txt PYTHONLIBS_FOUND shim from UlzKE is intentionally not
brought over: with PYBIND11_FINDPYTHON=OFF (the default), find_package(pybind11)
falls back to Classic mode, which loads FindPythonLibsNew.cmake and sets
PYTHONLIBS_FOUND itself. The CLAUDE.md / MINIMAL_BUILD.md commits from
UlzKE are also skipped here as they are unrelated to paraprof.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Collaborator
Author
|
Adding @ChrisJChang and @andrewfowlie as suggested reviewers. No need for two reviews, though – whoever has time first can do it. |
ChrisJChang
approved these changes
May 22, 2026
Collaborator
ChrisJChang
left a comment
There was a problem hiding this comment.
I've tested this and it seems to work very well for me.
I like that it generates plots when you run it. Do you think it would be good to save the plots to the run folder (inside the scanner_plugin folder) instead of the working directory? This way you could do multiple concurrent runs without overlapping plots. No biggie if not, we have other things print to the working directory (e.g. writing hepmc files),
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.
This PR adds a ScannerBit python scanner plugin for the paraprof scanner: https://github.com/anderkve/paraprof
It also deletes the plugin to the older binminpy scanner, which was a precursor to paraprof, and which is no longer actively developed.
To test GAMBIT with paraprof:
pip install git+https://github.com/anderkve/paraprof.gitObjectivesBit, so add-DBits="ObjectivesBit"to your cmake config.-DWITH_MPI=True.mpiexec -np 5 ./gambit -rf yaml_files/spartan_5d.yaml(This is our PR number 600! Wohoo!)