Working Group on Performance Optimization

From Einstein Toolkit Documentation
Revision as of 18:53, 27 April 2018 by Rhaas (talk | contribs) (add Ian Hinder as WG member)
Jump to: navigation, search

Organization

Type: Working group

Leads

  • Roland Haas
  • Erik Schnetter

Members

  • Zach Etienne
  • Ian Hinder
  • Roland Haas
  • Erik Schnetter
  • Helvi Vitek

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> to be added by bracketed persons by 2018-04
    1. [Erik] Carpet/eschnett/funhpc
      1. by 2018-05-31: review of features, decision which features to include into Cactus, extract features into new branch, start discussion on ET mailing list
    2. [Ian] CactusNumerical/ianhinder/rkprol
    3. [Roland, Erik] CactusExamples/eschnett/hydro
    4. [Zach] 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 performance optimization mailing list, and through periodic video-conferences.

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

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.

We will have monthly calls using Google hangout on the last Friday of the month at 12:00pm CT.