Enzo-E/Cello Project: Enabling Exa-Scale Astrophysics Andrew - - PowerPoint PPT Presentation

enzo e cello project enabling exa scale astrophysics
SMART_READER_LITE
LIVE PREVIEW

Enzo-E/Cello Project: Enabling Exa-Scale Astrophysics Andrew - - PowerPoint PPT Presentation

Enzo-E/Cello Project: Enabling Exa-Scale Astrophysics Andrew Emerick Columbia University American Museum of Natural History (AMNH) Greg L. Bryan (Columbia/Flatiron Institute) Mike Norman (San Diego Supercomputing Center (SDSC)) Mordecai-Mark Mac


slide-1
SLIDE 1

Enzo-E/Cello Project: Enabling Exa-Scale Astrophysics

Andrew Emerick

Columbia University American Museum of Natural History (AMNH)

Greg L. Bryan (Columbia/Flatiron Institute) Mordecai-Mark Mac Low (AMNH/Columbia/Flatiron) Brian O’Shea (Michigan State) John Wise (Georgia Tech) James Bordner (SDSC), Mordecai-Mark Mac Low (AMNH/Columbia) Britton Smith (SDSC) Mike Norman (San Diego Supercomputing Center (SDSC)) James Bordner (SDSC) Britton Smith (SDSC) (and more….)

slide-2
SLIDE 2

Progress in Astrophysical Hydrodynamics

Naab & Ostriker 2017 Naab & Ostriker 2017

slide-3
SLIDE 3

Progress in Astrophysical Hydrodynamics

Enabled by more powerful HPC systems Allow for greater dynamic range More detailed physics

Naab & Ostriker 2017 Naab & Ostriker 2017

slide-4
SLIDE 4

Progress in Astrophysical Hydrodynamics

Enabled by more powerful HPC systems Allow for greater dynamic range More detailed physics Variety of codes and methods: Lagrangian: SPH, moving mesh Eulerian: Grid-based codes Hybrid, meshless codes

Naab & Ostriker 2017 Naab & Ostriker 2017

slide-5
SLIDE 5

Enzo: enzo-project.org/

Adaptive mesh refinement (AMR), cosmological hydrodynamics C/C++ and Fortran

slide-6
SLIDE 6

Enzo: enzo-project.org/

Adaptive mesh refinement (AMR), cosmological hydrodynamics C/C++ and Fortran Physics: Multiple Hydro solvers Cosmology MHD Gravity Cosmic Rays Particles Star formation + stellar feedback Radiative heating / cooling Ray-tracing radiative transfer Chemistry

slide-7
SLIDE 7

Enzo: enzo-project.org/

Adaptive mesh refinement (AMR), cosmological hydrodynamics C/C++ and Fortran Physics: Multiple Hydro solvers Cosmology MHD Gravity Cosmic Rays Particles Star formation + stellar feedback Radiative heating / cooling Ray-tracing radiative transfer Chemistry Open Source development and stable code: https://github.com/enzo-project

slide-8
SLIDE 8
slide-9
SLIDE 9

Significant Challenges for the Next Generation:

Scaling and memory management are major shortcoming of current codes Current scaling to 103 - 104 cores (at best)

slide-10
SLIDE 10

Significant Challenges for the Next Generation:

Scaling and memory management are major shortcoming of current codes Current scaling to 103 - 104 cores (at best) Load balancing limitations

slide-11
SLIDE 11

Significant Challenges for the Next Generation:

Scaling and memory management are major shortcoming of current codes Current scaling to 103 - 104 cores (at best) Load balancing limitations Significant memory overhead

slide-12
SLIDE 12

Significant Challenges for the Next Generation:

Scaling and memory management are major shortcoming of current codes Current scaling to 103 - 104 cores (at best) Load balancing limitations Significant memory overhead

slide-13
SLIDE 13

Significant Challenges for the Next Generation:

Scaling and memory management are major shortcoming of current codes Current scaling to 103 - 104 cores (at best) Load balancing limitations Significant memory overhead Limited (if any) utilization of GPUs

slide-14
SLIDE 14

Significant Challenges for the Next Generation:

Scaling and memory management are major shortcoming of current codes Current scaling to 103 - 104 cores (at best) Load balancing limitations Significant memory overhead Limited (if any) utilization of GPUs Overhaul necessary to leverage exascale systems

slide-15
SLIDE 15

Enzo - Technical Details

Patch-based, structured AMR

Image Credit: James Bordner

slide-16
SLIDE 16

Enzo - Technical Details

Patch-based, structured AMR Unbalanced mesh

Image Credit: James Bordner

slide-17
SLIDE 17

Enzo - Technical Details

Patch-based, structured AMR Unbalanced mesh MPI communication

Image Credit: James Bordner

slide-18
SLIDE 18

Enzo - Technical Details

Patch-based, structured AMR Unbalanced mesh MPI communication Hybrid particle-mesh methods

Image Credit: James Bordner

slide-19
SLIDE 19

Shortcomings with Enzo in Exascale Era:

Enzo: Replicates hierarchy across all MPI processes (memory intensive)

slide-20
SLIDE 20

Shortcomings with Enzo in Exascale Era:

Enzo: Replicates hierarchy across all MPI processes (memory intensive) Patch-AMR is difficult to load balance efficiently

slide-21
SLIDE 21

Shortcomings with Enzo in Exascale Era:

Enzo: Replicates hierarchy across all MPI processes (memory intensive) Patch-AMR is difficult to load balance efficiently Parent-child communication overheads

slide-22
SLIDE 22

Shortcomings with Enzo in Exascale Era:

Enzo: Replicates hierarchy across all MPI processes (memory intensive) Patch-AMR is difficult to load balance efficiently Parent-child communication overheads Interpolation required from parent-to-child grids

slide-23
SLIDE 23

Shortcomings with Enzo in Exascale Era:

Enzo: Replicates hierarchy across all MPI processes (memory intensive) Patch-AMR is difficult to load balance efficiently Parent-child communication overheads Interpolation required from parent-to-child grids Evolution occurs level-by-level across entire computational domain

slide-24
SLIDE 24

Enzo-E / Cello Project

Exascale hydrodynamics from scratch Open-source: http://cello-project.org/ https://github.com/enzo-project/enzo-e James Bordner (SDSC) Mike Norman* (SDSC) … and more:

Matthew Abruzzo (Columbia), Greg Bryan (Columbia), Forrest Glines* (MSU), Brian O’Shea (MSU), Britton Smith (Edinburgh), John Wise (Georgia Tech.), KwangHo Park (Georgia Tech.), David Collins (FSU).... * = here at the Blue Waters Symposium

Image Credit: James Bordner

slide-25
SLIDE 25

Enzo-E / Cello Project

Exascale hydrodynamics from scratch “Cello” : Hierarchy, parallelization Charm++ interaction Easy APIs for use in Enzo-E layer “Enzo-E” : Initial conditions generators Block-by-block methods (physics)

Image Credit: James Bordner

slide-26
SLIDE 26

Enzo-E / Cello Project

Octree-based AMR Balanced Mesh More object oriented programming model Charm++ Parallelization

Image Credit: James Bordner

slide-27
SLIDE 27

Enzo-E / Cello Project

Octree-based AMR Balanced Mesh More object oriented programming model Charm++ Parallelization Task-based parallelism

Image Credit: James Bordner

slide-28
SLIDE 28

Enzo-E / Cello Project

Octree-based AMR Balanced Mesh More object oriented programming model Charm++ Parallelization Task-based parallelism Asynchronous execution

Image Credit: James Bordner

slide-29
SLIDE 29

Enzo-E / Cello Project

Octree-based AMR Balanced Mesh More object oriented programming model Charm++ Parallelization Task-based parallelism Asynchronous execution Automatic load balancing

Image Credit: James Bordner

slide-30
SLIDE 30

Advancements with Enzo-P/Cello:

Enzo: Replicates hierarchy across all MPI processes (memory intensive) Patch-AMR is difficult to load balance efficiently Parent-child communication overheads Interpolation required from parent-to-child grids Evolution occurs level-by-level across entire computational domain Enzo-E/Cello: Hierarchy is localized

slide-31
SLIDE 31

Advancements with Enzo-P/Cello:

Enzo: Replicates hierarchy across all MPI processes (memory intensive) Patch-AMR is difficult to load balance efficiently Parent-child communication overheads Interpolation required from parent-to-child grids Evolution occurs level-by-level across entire computational domain Enzo-E/Cello: Hierarchy is localized Each block is its own parallel task, independent of level

slide-32
SLIDE 32

Advancements with Enzo-P/Cello:

Enzo: Replicates hierarchy across all MPI processes (memory intensive) Patch-AMR is difficult to load balance efficiently Parent-child communication overheads Interpolation required from parent-to-child grids Evolution occurs level-by-level across entire computational domain Enzo-E/Cello: Hierarchy is localized Each block is its own parallel task, independent of level Charm++ provides significant load balancing and scheduling advantages

slide-33
SLIDE 33

Advancements with Enzo-P/Cello:

Enzo: Replicates hierarchy across all MPI processes (memory intensive) Patch-AMR is difficult to load balance efficiently Parent-child communication overheads Interpolation required from parent-to-child grids Evolution occurs level-by-level across entire computational domain Enzo-E/Cello: Hierarchy is localized Each block is its own parallel task, independent of level Charm++ provides significant load balancing and scheduling advantages Fixed block size allows for efficient, simplified load balancing

slide-34
SLIDE 34

Pushing the limits of AMR Hydrodynamics

AMR Hydro Scaling: “Exploding Letters” Test One of largest AMR simulations, run on Blue Waters: 256k cores 1.7 x 109 grid cells (323 cells per block) 50 x 106 blocks Impossible to do with Enzo: Enzo’s hierarchy would require 72 GB / proc.!!!

Image Credit: James Bordner

slide-35
SLIDE 35

Scaling Results

Image Credit: James Bordner

slide-36
SLIDE 36

Goals as a Blue Waters Fellow

Implement physics methods to simulate an isolated, Milky Way galaxy a) Gas cooling and chemistry (GRACKLE package) b) Background acceleration /potential field c) Star Formation d) Stellar Feedback (supernova) e) Isolated galaxy ICs (with particle support) Stepping stone to full-physics cosmological simulations Test-case for how to develop in the new Enzo-E / Cello framework

slide-37
SLIDE 37

Defining Community Development in Enzo-E

Similar development structure to Enzo Migrated code development to github, managed with git Adopting a pull request development framework New additions pulled into master via a pull request Reviewed and accepted by 2-3 developers, with final PR-tsar approval Development community growing (~5 - 10 people)

slide-38
SLIDE 38

Future Work: Exascale Astrophysics

Flux correction Modern stellar feedback algorithms AMR Cosmology and isolated galaxy runs MHD with cosmic rays Ray-tracing radiative transfer Block adaptive time stepping

slide-39
SLIDE 39

Questions?