Working Group on Performance Optimization

From Einstein Toolkit Documentation
Revision as of 17:34, 23 March 2018 by Rhaas (talk | contribs) (Milestones)
Jump to: navigation, search

Organization

Type: Working group

Leads

  • Roland Haas
  • Erik Schnetter

Initial Members

  • Roland Haas
  • Erik Schnetter
  • Zach Etienne

Funding

  • NSF OAC-1550514

Background

Activities

The working group engages in researching, developing, implementing and promoting performance optimization for codes included in the Einstein Toolkit. This includes optimizations for currently supported architectures in the Einstein Toolkit (for example CPUs and GPUs) as well as new architectures that are not yet well supported (eg Intel Phi accelerators, modern GPUs).

The group interacts with [Data_Dependant_Task_Scheduler] to coordinate optimization efforts.

The group defines the targets of interest and meets regularly via online media as well as in person in small workshops to push forward specific optimization projects.

Members

We welcome new members to the working group! If you are working on performance optimization in some way (e.g. supporting accelerators, SIMD vectorization, new AMR schemes, improving convergence, fine-tunin parameters), then we are looking forward to hearing from you. We expect that this working group will help us share experience and expertise, and will allow us to have some technical discussions that might be out of the range of general interest.

Milestones

  1. review existing optimization efforts currently in private branches: <DEADLINE>
    1. Carpet/eschnett/funhpc
    2. CactusNumerical/ianhinder/rkprol
    3. CactusExamples/eschnett/hydro
    4. NRPy+, a “Kranc-like”, but Python/SymPy-based code capable of creating the mathematical “guts” of ETK thorns (as C code, supporting AVX256/AVX512 intrinsics). (public git repo, code announcement paper). NRPy+ already provides
      1. RHSs for SphericalBSSN thorn (code announcement paper), and
      2. an ETK GRMHD initial data thorn (magnetized BH accretion disk) (public git repo)
  2. import identified optimization efforts into master branches: <DEADLINE> date TBD by 2018-04
  3. review discussion on in "Breakout Discussion on Scalability" in Notes from ET 2017 meeting at NCSA: 2018-04 (next call)
  4. advertise efforts and bring in more developers: 2018-04 (next call)

Deliverables

  1. the identified optimization options listed above
  2. graphs and data to back up the observed performance improvements
  3. code to include in the Einstein Toolkit

Engagement

The working groups communicates via personal email, the Einstein Toolkit User's mailing list, and through periodic video-conferences.

Persons interested in joining the working group and that are themselves working on performance optimization are encouraged to contact the leads at rhaas@illinois.edu or eschnetter@perimeterinstitute.ca for instructions.

Agenda and minutes of calls

We keep all files in a shared Google drive folder which is publicly readable but only editable by group members.