-
Notifications
You must be signed in to change notification settings - Fork 24
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
Feature #2724 mode_openmp #2726
Conversation
…make it more efficient.
…ince its declared as const. The GNU compiler on seneca errors out when constants are included in the shared list while the GNU compiler on my Mac laptop doesn't complain.
… object for each field. Still more work to do to reduce memory usage and also apply OpenMP to the ShapeData::select() function.
…() to exactly reproduce existing results. There were some subtle diffs in the handling of missing data and points off the grid.
…ikely a way to make the memory usage for efficient but it'll require a tweak to the logic.
…ld rather than the individual object fields. And compute pair intersection, union, and sym diff counts from the split field rather than the object fields. This avoid allocating memory for many, many copies of the input grid, which can be quite large depending on the resolution.
…ory allocation for ShapeData objects.
…were computing NMEP outputs. That was removed from ensemble-stat in MET version 11.1 but the OpenMP setup remained there. This removes it from ensemble-stat and updates the documentation to accurately indicate that OpenMP currently applies to gen-ens-prod, grid-stat, and now mode.
…hould be faster and use much less memory.
…ions to be more efficient by accessing the vector of data rather than the slower get(x,y) data accessor function.
…efine their log messages
…bosity level to avoid unnecessary loops through the data. Note that all calls to the logger would actually create the log message and the logger decides whether or not to print it. Wrapping expensive debugging log messages in vebosity level check is more efficient.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I approve this pull request. I didn't go over this in great detail, the changes look pretty significant. All the unit tests did run successfully, it seems, and your changes are all compatible with those parts of the mode code that I am also modifying. Maybe you can go over what you did with me at some point, so I can learn more. For example you added a 'split' input to SingleFeature::set(), for (I'm sure) a good reason.
… diff a bit more efficient by accessing the data() array directly rather than range-checking with the data(x,y) accessor function.
Expected Differences
This PR includes the following changes:
do_fcst/obs_merge_thresh()
function to avoid memory allocation using a map of simple object to cluster ids and vice-versa.ensemble_stat.cc
since it isn't actually used there anymore.Do these changes introduce new tools, command line arguments, or configuration file options? [No]
If yes, please describe:
Do these changes modify the structure of existing or add new output data types (e.g. statistic line types or NetCDF variables)? [No]
If yes, please describe:
Pull Request Testing
Describe testing already performed for these changes:
Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:
Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [Yes]
Do these changes include sufficient testing updates? [Yes]
Will this PR result in changes to the test suite? [No]
If yes, describe the new output and/or changes to the existing output:
Please complete this pull request review by [Tues Nov 7].
Pull Request Checklist
See the METplus Workflow for details.
Select: Reviewer(s) and Development issue
Select: Milestone as the version that will include these changes
Select: Coordinated METplus-X.Y Support project for bugfix releases or MET-X.Y.Z Development project for official releases