1. The Enzo Project
  2. Untitled project
  3. enzo-dev
  4. Pull requests

Pull requests

#35 Merged at 05ca9c2
Repository
samskillman
Branch
week-of-code
Repository
enzo
Branch
week-of-code

Performance Tools

Author
  1. Sam Skillman
Reviewers
Description

This adds support for a performance measurement and plotting framework. The performance measurement is mostly done through the inclusion of src/enzo/EnzoTiming.h. Plotting/analysis is added through src/performance_tools/performance_tools.py. Documentation is in src/performance_tools/README.

Update #1: Added bugfix for when MPI is not used. Could someone please comment on why ReturnWallTime.C would return 0.0 for use-mpi-false? I have updated for the time being to use time.h.

  • Issues #1: ProtostellarCollapse_Std Fails new

Comments (2)

  1. dcollins4096

    This looks super useful. +1

    There are several instances of duplicated calls to LCAPERF_START and TIMER_START, etc. Would it be a pain to flatten those, either with a macro or an aggregate function ALLPERF_START, or some function pointer juggling action? This would ease code readability and stem the production of code entropy.

    1. Sam Skillman author

      Thanks for the feedback! The main reason that I would be opposed to this is that while LCAPERF_START is used in many of functions in enzo, TIMER_START and this performance framework in general was created to focus on a smaller subset of big routines like hydro, gravity, rebuild, etc.