Skip to content

CCPP Framework Meeting Minutes 2021 08 10

Dom Heinzeller edited this page Aug 10, 2021 · 13 revisions

Agenda

New business

  • Development of computational performance evaluation testing

Old business

  • GNU-10 compatibility
  • Update on standard names
  • Transition to capgen.py

Development of computational performance evaluation testing

  • Part of Hurricane Supplemental project at NCAR, software testing for ccpp-framework: unit testing, functional testing, computational performance testing
  • Limited resources left on this project
  • Use existing functional testing and add basic timing/memory testing to it? Other ideas?
    • Instead of using SCM model and data, create a stub model?
    • Goal: assess computational performance of framework, not physics
    • In most cases, single column testing is fine, exceptions: blocked data structures that need to be copied into contiguous arrays and back, and MPI broadcasting at physics init time
    • Run-to-run variability can make it hard to detect actual changes in the performance
    • Can this be used to also test the performance of the physics (which change much more often than the framework)?
    • Stub suite with only one stub scheme that exercises the relevant parts of the framework (with/without unit conversions, with/without blocking/deblocking data, ...)
    • SCM already has a timing utility in the run scripts (can use N iterations to smooth out some of the machine variability)
    • Possible to integrate with regression testing framework of ufs-weather-model

GNU-10 compatibility

  • GNU 10 much stricter w.r.t. argument mismatches, so far we had to add compiler flags to turn them into warnings (bad)
    • use mpi or include mpif.h don't work w/o these flags; need to use use mpi_f08
    • This turns the MPI communicator into a DDT (no longer an integer), does the framework support this w/o a definition of the DDT?
      • Tell capgen (via command line argument, for example) which MPI standard to use and then provide the DDT metadata information as required
    • Does use mpi_f08 work with all systems that need to be supported
      • No, it doesn't - but it is on the agenda to roll it out to the community

Dictionary of standard names

Transition to capgen.py

  • Dom started to update feature/capgen from main to simplify future work and merge back
  • Code now compiles, need to run regression tests, then update main and send updates back to feature/capgen

Other business

  • ...
Clone this wiki locally