Parallel-in-Time Integration with PFASST From prototyping to - - PowerPoint PPT Presentation

parallel in time integration with pfasst from prototyping
SMART_READER_LITE
LIVE PREVIEW

Parallel-in-Time Integration with PFASST From prototyping to - - PowerPoint PPT Presentation

Parallel-in-Time Integration with PFASST From prototyping to applications June 5, 2019 Robert Speck Jlich Supercomputing Centre Member of the Helmholtz Association Collaborators Daniel Ruprecht Rolf Krause Oliver Sander Matthias Bolten


slide-1
SLIDE 1

Parallel-in-Time Integration with PFASST From prototyping to applications

June 5, 2019 Robert Speck Jülich Supercomputing Centre

Member of the Helmholtz Association

slide-2
SLIDE 2

Collaborators

Daniel Ruprecht Rolf Krause Oliver Sander Matthias Bolten You? Michael Minion

Member of the Helmholtz Association June 5, 2019 Slide 1

slide-3
SLIDE 3

Moore’s law in HPC today

"The free lunch is over” (H.Sutter, 2005)

(a) Performance of the world’s 500 most powerful supercomputers.

1995 2000 2005 2010 2015 2020 Year 102 103 104 105 106 107 Cores

(b) Number of cores in the number one system in the Top 500 list.

HPC systems already require multi-million way concurrency Need new numerical methods to provide this degree of parallelism

Member of the Helmholtz Association June 5, 2019 Slide 2

slide-4
SLIDE 4

Limits of purely spatial parallelization

Time

Figure: Time-stepping to solve time-dependent partial differential equations.

Spatial parallelization reduces runtime per time-step Strong scaling saturates eventually because of communication Costs for more time-steps are not mitigated

Member of the Helmholtz Association June 5, 2019 Slide 3

slide-5
SLIDE 5

Limits of purely spatial parallelization

Figure: Time-stepping to solve time-dependent partial differential equations.

Spatial parallelization reduces runtime per time-step Strong scaling saturates eventually because of communication Costs for more time-steps are not mitigated

Member of the Helmholtz Association June 5, 2019 Slide 3

slide-6
SLIDE 6

Limits of purely spatial parallelization

Time

Figure: Time-stepping to solve time-dependent partial differential equations.

Spatial parallelization reduces runtime per time-step Strong scaling saturates eventually because of communication Costs for more time-steps are not mitigated

Member of the Helmholtz Association June 5, 2019 Slide 3

slide-7
SLIDE 7

Limits of purely spatial parallelization

Time

Figure: Time-stepping to solve time-dependent partial differential equations.

Spatial parallelization reduces runtime per time-step Strong scaling saturates eventually because of communication Costs for more time-steps are not mitigated

Member of the Helmholtz Association June 5, 2019 Slide 3

slide-8
SLIDE 8

Limits of purely spatial parallelization

Time

Figure: Time-stepping to solve time-dependent partial differential equations.

Spatial parallelization reduces runtime per time-step Strong scaling saturates eventually because of communication Costs for more time-steps are not mitigated → Can we compute multiple time-steps simultaneously?

Member of the Helmholtz Association June 5, 2019 Slide 3

slide-9
SLIDE 9

Parallel-in-Time (“PinT”) approaches

“50 years of parallel-in-time integration”, M. Gander ( CMCS, 2015) Interpolation-based approach (Nievergelt 1964) Predictor-corrector approach (Miranker, Liniger 1967) Parabolic or time multi-grid (Hackbusch 1984) and (Horton 1992) Multiple shooting in time (Kiehl 1994) Parallel Runge-Kutta methods (e.g. Butcher 1997) Parareal (Lions, Maday, Turinici 2001) PITA (Farhat, Chandesris 2003) Guided Simulations (Srinavasan, Chandra 2005) RIDC (Christlieb, Macdonald, Ong 2010) PFASST (Emmett, Minion 2012) MGRIT (Falgout et al 2014) ... and many more

Member of the Helmholtz Association June 5, 2019 Slide 4

slide-10
SLIDE 10

Parallel-in-Time (“PinT”) approaches

“50 years of parallel-in-time integration”, M. Gander ( CMCS, 2015) Interpolation-based approach (Nievergelt 1964) Predictor-corrector approach (Miranker, Liniger 1967) Parabolic or time multi-grid (Hackbusch 1984) and (Horton 1992) Multiple shooting in time (Kiehl 1994) Parallel Runge-Kutta methods (e.g. Butcher 1997) Parareal (Lions, Maday, Turinici 2001) PITA (Farhat, Chandesris 2003) Guided Simulations (Srinavasan, Chandra 2005) RIDC (Christlieb, Macdonald, Ong 2010) PFASST (Emmett, Minion 2012) MGRIT (Falgout et al 2014) ... and many more

Member of the Helmholtz Association June 5, 2019 Slide 4

slide-11
SLIDE 11

<math>

slide-12
SLIDE 12

A quick algebraic introduction to PFASST

Basic building block: spectral deferred corrections (SDC)

Consider the Picard form of an initial value problem on [T0,T1] u(t) = u0 + t

T0

f (u(s))ds, discretized using spectral quadrature rules with nodes tm: um = u0 + ∆tQF(u) ≈ u0 + tm

T0

f (u(s))ds, then SDC methods can be seen as (clever) Gauß-Seidel iteration to solve this collocation problem for all um. ⇒ Use this for block smoothing in space-time multigrid = PFASST

Member of the Helmholtz Association June 5, 2019 Slide 5

slide-13
SLIDE 13

A quick algebraic introduction to PFASST

Basic building block: spectral deferred corrections (SDC)

Consider the Picard form of an initial value problem on [T0,T1] u(t) = u0 + t

T0

f (u(s))ds, discretized using spectral quadrature rules with nodes tm: (I − ∆tQF)( u) = u0 then SDC methods can be seen as (clever) Gauß-Seidel iteration to solve this collocation problem for all um. ⇒ Use this for block smoothing in space-time multigrid = PFASST

Member of the Helmholtz Association June 5, 2019 Slide 5

slide-14
SLIDE 14

A quick algebraic introduction to PFASST

Multigrid for the composite collocation problem

We now glue L time-steps together, using N to transfer information from step l to step l + 1. We get the composite collocation problem:      I − ∆tQF −N I − ∆tQF ... ... −N I − ∆tQF          

  • u1
  • u2

. . .

  • uL

     =     

  • u0

. . .      PFASST: use (linear/FAS) multigrid to solve this system iteratively smoother: parallel block Jacobi with SDC in the blocks coarse-level solver: serial block Gauß-Seidel with SDC in the blocks exploit cheapest coarse level to quickly propagate information forward in time

Member of the Helmholtz Association June 5, 2019 Slide 6

slide-15
SLIDE 15

</math>

slide-16
SLIDE 16

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-17
SLIDE 17

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-18
SLIDE 18

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-19
SLIDE 19

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-20
SLIDE 20

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-21
SLIDE 21

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-22
SLIDE 22

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-23
SLIDE 23

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-24
SLIDE 24

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-25
SLIDE 25

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-26
SLIDE 26

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-27
SLIDE 27

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-28
SLIDE 28

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-29
SLIDE 29

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-30
SLIDE 30

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-31
SLIDE 31

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-32
SLIDE 32

A quick visual introduction to PFASST

coarse sweep fine sweep coarse comm. fine comm.

P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Member of the Helmholtz Association June 5, 2019 Slide 7

slide-33
SLIDE 33

PFASST implementations

FAQ: “Is it hard to use PFASST?” Yes ... if you already have a full-fledged application or ... if you need/want your own time integrator No ... if your code allows access to the ODE’s right-hand side etc. or ... if you already work with spectral deferred corrections To cover as many scenarios as possible, you can choose between 3 codes:

1 the prototyping framework pySDC 2 the standalone HPC code libpfasst 3 the DUNE module dune-PFASST

Member of the Helmholtz Association June 5, 2019 Slide 8

slide-34
SLIDE 34

PFASST implementations

FAQ: “Is it hard to use PFASST?” Yes ... if you already have a full-fledged application or ... if you need/want your own time integrator No ... if your code allows access to the ODE’s right-hand side etc. or ... if you already work with spectral deferred corrections To cover as many scenarios as possible, you can choose between 3 codes:

1 the prototyping framework pySDC

the “playground”

2 the standalone HPC code libpfasst

the “library”

3 the DUNE module dune-PFASST

the “specialist”

Member of the Helmholtz Association June 5, 2019 Slide 8

slide-35
SLIDE 35

pySDC - the playground

Landing page: http://www.parallel-in-time.org/pySDC Properties: purpose: prototyping, education, easy access, “test before you invest” not optimized, but well-documented, Python Features: many variants of SDC and PFASST many examples, from heat equation to particles in an electromagnetic field can use whatever data structure and solvers you want (e.g. FEniCS)

Member of the Helmholtz Association June 5, 2019 Slide 9

slide-36
SLIDE 36

Other cool things

Fault tolerance playground

PinT + ABFT Protect against bitflips Recover after data loss Testbed for ideas

2 4 6 8 10 12 14 iteration 1 3 5 7 9 11 13 15 step

x

11 10 9 8 7 6 5 4 3 2 1 log10(residual) 2 4 6 8 10 12 14 iteration 1 3 5 7 9 11 13 15 step

x

11 10 9 8 7 6 5 4 3 2 1 log10(residual)

PETSc integration

PETSc’s data structures PETSc’s parallelization Integrators for Parareal? Work in progress...

Hamiltonian problems

Newton’s eqs of motion basis: velocity-Verlet From toy problems... ...to MD, someday?

Continuous integration

GitHub Pages... ...and Travis-CI Core features testing Reproduce paper results

Member of the Helmholtz Association June 5, 2019 Slide 10

slide-37
SLIDE 37

Why have more codes?

pySDC’s pros many features from the SDC and PFASST universe code is close to formulas in publications well-documented, tutorials, many examples to copy from easy to install, easy to port, easy to use pySDC’s cons no memory optimization, no tuning for speed hard to convince people to use Python for production hard to use within large, existing applications

Member of the Helmholtz Association June 5, 2019 Slide 11

slide-38
SLIDE 38

Why have more codes?

pySDC’s pros many features from the SDC and PFASST universe code is close to formulas in publications well-documented, tutorials, many examples to copy from easy to install, easy to port, easy to use pySDC’s cons no memory optimization, no tuning for speed hard to convince people to use Python for production hard to use within large, existing applications To integrate PFASST into existing applications/frameworks, we need dedicated implementations.. the “specialists”.

Member of the Helmholtz Association June 5, 2019 Slide 11

slide-39
SLIDE 39

Three takeaways

coarse sweep fine sweep coarse comm. fine comm. P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Parallel-in-Time integration with PFASST (and

  • thers) can help you to overcome scaling limits

A good place to start with SDC and PFASST, to run first examples and to test your ideas: pySDC images/lego-pile.jpg Libraries vs. specialists: community needs both to make progress in numerics, codes and applications

Member of the Helmholtz Association June 5, 2019 Slide 12

slide-40
SLIDE 40

Three takeaways

coarse sweep fine sweep coarse comm. fine comm. P0 t0 P1 t1 P2 t2 P3 t3 t4 computation time

predictor

Parallel-in-Time integration with PFASST (and

  • thers) can help you to overcome scaling limits

A good place to start with SDC and PFASST, to run first examples and to test your ideas: pySDC images/lego-pile.jpg Libraries vs. specialists: community needs both to make progress in numerics, codes and applications

Member of the Helmholtz Association June 5, 2019 Slide 12

slide-41
SLIDE 41

The PinT Community

To learn more about PinT check out the website www.parallel-in-time.org and/or join one of the PinT Workshops, e.g.

9th Workshop on Parallel-in-Time Integration

June 8-12, 2020 Michigan, USA

  • rganized by Ben Ong and others

Also, there is a mailing list, join by writing to parallelintime+subscribe@googlegroups.com

Member of the Helmholtz Association June 5, 2019 Slide 13