Skip to content

Conversation

edoyango
Copy link
Collaborator

This adds the CICE5ProfilingParser class for profiling an arbitrary number of timings from a CICE5 log file. For example:

Timing information:

Timer   1:     Total   16197.47 seconds
  Timer stats (node): min =    16197.42 seconds
                      max =    16197.47 seconds
                      mean=    16197.44 seconds
  Timer stats(block): min =        0.00 seconds
                      max =        0.00 seconds
                      mean=        0.00 seconds
Timer   2:  TimeLoop   16197.19 seconds
  Timer stats (node): min =    16197.14 seconds
                      max =    16197.19 seconds
                      mean=    16197.16 seconds
  Timer stats(block): min =        0.00 seconds
                      max =        0.00 seconds
                      mean=        0.00 seconds

will extract the timings such that the regions are "Total" and "TimeLoop" and extract the node metrics min, max, mean. Not yet sure what "block" stats are or if we need them. The parser will pick up any timer following the above pattern.

Tests cover correctness and the absence of results.

@edoyango
Copy link
Collaborator Author

hi @manodeep @micaeljtoliveira can you have a look at my cice5 profiling parser?

Copy link

codecov bot commented Sep 19, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.33%. Comparing base (573c089) to head (41fcbfb).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #18      +/-   ##
==========================================
+ Coverage   99.27%   99.33%   +0.05%     
==========================================
  Files           9       10       +1     
  Lines         277      299      +22     
==========================================
+ Hits          275      297      +22     
  Misses          2        2              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

# SPDX-License-Identifier: Apache-2.0

"""Parser for CICE5 profiling data.
The data to be parsed is written in the following form, where bloc stats are discarded:
Copy link
Member

Choose a reason for hiding this comment

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

Might be useful to add some extra information. In particular, I was wondering if timers are written only once, at the end of the run, or every time the code exits the region.

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