-
Notifications
You must be signed in to change notification settings - Fork 64
CCPP Framework Meeting Minutes 2019 01 24
goldy edited this page Mar 9, 2020
·
1 revision
Discussion about Steve's new capgen:
- blocked data structures are still an issue when running physics over all blocks at once
- proposed solution to create temporary flat fields from blocked data not yet fully implemented
- currently still passing encompassing derived data types for contiguous memory access
Dom's new static build w/o cdata:
- works fine with NEMSfv3gfs REPRO mode
- has issues with NEMSfv3gfs PROD mode (crashes or gives different results on Theia/Intel15)
- crashes could be tracked back to Intel 15 when passing uninitialized/invalid data to subroutines
- Intel 18 tolerates this
- note from follow-up GMTB meeting: we need to address this in the future, we don't want to create code that passes invalid/uninitialized data to subroutines
- capgen code pretty similar to new no-cdata static build, which should make the transition easier in the future
Static versus dynamic build:
- still needed? GMTB to follow up with sponsors, also about hybrid build (which requires the dynamic build option)
- there are advantages for having the dynamic build, but more discussion is needed if those justify the costs for maintaining it
- what kind of flexibility do we need, and what is the best way to achieve it?
- where to draw the line between host model and CCPP? At the host model cap level? This will become important when working on the NUOPC-CCPP integration
How to specify which files to consider for compilation?
- filtering for static build as done now? CCPP prebuild returns a list of files (caps, schemes, dependencies; subset of files defined in ccpp_prebuild_config.py) that need to be compiled for a suite in the static build, or all available files as defined in ccpp_prebuild_config.py for the dynamic build
New Python checkout/testing script:
- can be used for checking out the code only without running the tests
- Steve wants to give this a try
PR procedures - which branches to use?
- Steve is going to use ccpp-framework master branch for capgen
- GMTB to give up gmtb/develop: merge existing development from gmtb/develop to master, change static-no-cdata PR to target master (gmtb/ccpp for FV3 and NEMSfv3gfs)