Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Parallel File Parsing and Improve testing #31

Merged
merged 13 commits into from
Jan 9, 2024
Merged

Add Parallel File Parsing and Improve testing #31

merged 13 commits into from
Jan 9, 2024

Conversation

clevelam
Copy link
Collaborator

@clevelam clevelam commented Jan 5, 2024

This enables parallel file processing for outputs, tallies, and dumps but default.

  • Add mutliprocessing tasks to parallelize multiple file parsing
  • Enabled by default but can be disabled by setting an environment variable OPPPY_USE_THREADS=False
  • Add log scaling option for 2d contours
  • Add golds for test_dump_utiles.py, test_output.py, and test_tally.py
  • Add pass/fail checking for test_interacitve
  • Add log scaling testing for 2d contours
  • Add 'SHOW_PLOTS' testing environment variable to hide plots while testing
  • Add 'OPPPY_UPGOLDS' testing environment variable to automate the update of the new OPPPY test golds.

@clevelam
Copy link
Collaborator Author

clevelam commented Jan 5, 2024

@tylerjereddy One more request. Would you be willing to review this Change set. Primarily I would like feedback on my multiprocessing implementation. I've found that this drastically speeds up the parsing for large number file sets.

Copy link
Contributor

@tylerjereddy tylerjereddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added some initial comments/thoughts, a lot of it related to testing robustness to be confident in the parallel behavior.

I didn't try to check if the new functionality is actually faster, the community like using https://github.com/airspeed-velocity/asv for that, although this is quite formal so may be too much if you already have the performance envidence you need.

opppy/dump_utils.py Outdated Show resolved Hide resolved
opppy/dump_utils.py Outdated Show resolved Hide resolved
opppy/dump_utils.py Outdated Show resolved Hide resolved
opppy/dump_utils.py Show resolved Hide resolved
opppy/dump_utils.py Show resolved Hide resolved
opppy/output.py Show resolved Hide resolved
opppy/output.py Show resolved Hide resolved
opppy/plot_dump_dictionary.py Show resolved Hide resolved
opppy/tally.py Show resolved Hide resolved
opppy/tally.py Show resolved Hide resolved
@clevelam clevelam changed the title Add Parallel File Parsing Add Parallel File Parsing and Improve testing Jan 8, 2024
@clevelam
Copy link
Collaborator Author

clevelam commented Jan 8, 2024

Thanks for the feedback @tylerjereddy I've significantly updated the testing and opened a couple of follow on issues.

#35
#34

@clevelam clevelam merged commit e852606 into master Jan 9, 2024
6 checks passed
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.

2 participants