-
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
Now flag GEOS-Chem Classic/GCHP timers that differ by more than 10% in the benchmark timing tables #332
Conversation
gcpy/benchmark/modules/benchmark_scrape_gcclassic_timers.py gcpy/benchmark/modules/benchmark_scrape_gchp_timers.py - Flag timers (with " *") that vary by more than +/- 10% in the benchmark timing table output CHANGELOG.md - Updated accordingly
This updates looks good but I'm curious why we use scientific notation for the % diff. It would be easier to scan, and might not even need the *s, if we list the percentages plus maybe just one decimal place. |
Having a column for difference would also be good to have. |
Thanks @lizziel. I can implement a floating point format rather than the scientific notation for % diff. |
gcpy/benchmark/modules/benchmark_gcclassic_scrape_timers.py gcpy/benchmark/modules/benchmark_gchp_scrape_timers.py - Changed the "% diff" column from exponential format (12.3e) to floating-point format (12.3f) to make it easier to see large differences CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <[email protected]>
@lizziel: I reverted to floating point format in commit b07327d. GCClassic%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% GEOS-Chem Classic Benchmark Timing Information
%%%
%%% Ref = gcc-14.4.1
%%% Dev = gcc-14.4.2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Timer Ref [s] Dev [s] % Diff
-------------------------------------------------------------------------------
GEOS-Chem 21173.062 28458.415 34.409 *
HEMCO 2287.382 2307.501 0.880
All chemistry 8087.397 15052.359 86.121 *
=> Gas-phase chem 5295.887 5536.890 4.551
=> Photolysis 691.712 7353.315 963.060 *
=> Aerosol chem 1598.909 1597.813 -0.069
=> Linearized chem 29.045 30.455 4.855
Transport 1660.802 1689.448 1.725
Convection 2413.583 2490.201 3.174
Boundary layer mixing 2271.712 2403.692 5.810
Dry deposition 51.624 51.891 0.517
Wet deposition 755.015 774.040 2.520
Diagnostics 2446.812 2367.490 -3.242
Unit conversions 1267.408 1422.235 12.216 * GCHP%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% GCHP Benchmark Timing Information
%%%
%%% Ref = gchp-14.4.1
%%% Dev = gchp-14.4.2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
GCHPchem Timer Ref [s] Dev [s] % Diff
-------------------------------------------------------------------------------
GCHPchem 7032.760 7017.550 -0.216
--SetService 0.270 0.280 3.704
----generic 0.000 0.000 nan
--Initialize 30.090 30.660 1.894
----INITIALIZE 30.090 30.660 1.894
------generic 13.140 12.930 -1.598
--Record 0.020 0.020 0.000
----generic 0.010 0.010 0.000
--Run 6981.810 6947.260 -0.495
----GenRunMine 6981.760 6947.220 -0.495
------RUN 6936.510 6907.250 -0.422
--------CP_BFRE 3.360 3.070 -8.631
--------DO_CHEM 6897.840 6869.460 -0.411
----------GC_CONV 501.900 523.710 4.345
----------GC_DRYDEP 8.770 8.800 0.342
----------GC_EMIS 186.890 184.410 -1.327
----------GC_TURB 595.020 619.830 4.170
----------GC_CHEM 4751.700 4736.540 -0.319
----------GC_WETDEP 468.660 445.050 -5.038
----------GC_DIAGN 37.190 36.980 -0.565
--------CP_AFTR 0.010 0.010 0.000
--Finalize 3.120 3.220 3.205
----generic 3.120 3.210 2.885
Summary Ref [s] Dev [s] % Diff
-------------------------------------------------------------------------------
All 25584.746 25606.259 0.084
--SetService 1.430 1.522 6.434
----GCHP 1.407 1.499 6.539
------GCHPctmEnv 0.001 0.001 0.000
------GCHPchem 0.450 0.456 1.333
------DYNAMICS 0.896 0.981 9.487
----HIST 0.000 0.000 nan
----EXTDATA 0.000 0.000 nan
--Initialize 104.915 98.315 -6.291
----GCHP 75.827 69.100 -8.872
------GCHPctmEnv 0.013 0.013 0.000
------GCHPchem 65.188 61.798 -5.200
------DYNAMICS 9.107 5.680 -37.630 *
----HIST 7.170 7.027 -1.994
----EXTDATA 21.338 21.023 -1.476
--Run 25475.018 25502.983 0.110
----EXTDATA 1074.784 1067.898 -0.641
----GCHP 17103.029 17065.536 -0.219
------GCHPctmEnv 45.314 44.852 -1.020
------GCHPchem 11255.168 11228.451 -0.237
------DYNAMICS 5801.109 5790.771 -0.178
----HIST 145.059 142.520 -1.750
--Finalize 3.189 3.292 3.230
----GCHP 3.175 3.272 3.055
------GCHPctmEnv 0.006 0.005 -16.667 *
------GCHPchem 3.163 3.261 3.098
------DYNAMICS 0.003 0.003 0.000
----HIST 0.006 0.007 16.667 *
----EXTDATA 0.005 0.010 100.000 * |
Name and Institution (Required)
Name: Bob Yantosca
Institution: Harvard + GCST
Describe the update
We have updated the
benchmark_scrape_gcclassic_timers.py
andbenchmark_scrape_gchp_timers.py
scripts to flag individual GEOS-Chem Classic and GCHP timers that vary by more than +/- 10%. This will help us to identify performance bottlenecks much more easily.Expected changes
Benchmark timing tables now will contain an asterisk after timers that vary by more than +/- 10%.
GEOS-Chem Classic:
^^^ note: Ref and Dev were swapped in this output inadvertently, but you get the idea.
GCHP
Reference(s)
If this is a science update, please provide a literature citation.
Related Github Issue