Nektar++: A Progress Report Spencer Sherwin, Chris Cantwell, Dave - - PowerPoint PPT Presentation

nektar a progress report
SMART_READER_LITE
LIVE PREVIEW

Nektar++: A Progress Report Spencer Sherwin, Chris Cantwell, Dave - - PowerPoint PPT Presentation

Nektar++: A Progress Report Spencer Sherwin, Chris Cantwell, Dave Moxey, Mike Kirby Department of Aeronautics, Imperial College London SCI Institute, University of Utah Outline What are we doing? Optimizing our implementations


slide-1
SLIDE 1

Nektar++: A Progress Report

Spencer Sherwin, Chris Cantwell, Dave Moxey, Mike Kirby

Department of Aeronautics, Imperial College London SCI Institute, University of Utah

slide-2
SLIDE 2

Outline

  • What are we doing?
  • Optimizing our implementations
  • Variable p
  • Cloud computing
slide-3
SLIDE 3

Nektar++: An h to p finite element framework

h-type geometric flexibility

p-type exponential accuracy

Provide an unified interface to an open environment which blends high- and low-order finite element methods.

slide-4
SLIDE 4

Nektar++: www.nektar.info

slide-5
SLIDE 5

Nektar++: www.nektar.info

slide-6
SLIDE 6

Nektar++: www.nektar.info

slide-7
SLIDE 7

Nektar++: www.nektar.info

slide-8
SLIDE 8

Nektar++: www.nektar.info

  • 

  

slide-9
SLIDE 9

slide-10
SLIDE 10



slide-11
SLIDE 11





   

slide-12
SLIDE 12





   



 



slide-13
SLIDE 13
  • 

  

  • Homogeneous Expansions
slide-14
SLIDE 14



  • 



  • Direct Stability Analysis

Complex Geometry LNS & DNS

slide-15
SLIDE 15

slide-16
SLIDE 16
slide-17
SLIDE 17
slide-18
SLIDE 18

Hybrid Numbering & Mixed Parallelisation

Global numbering Local numbering Hybrid numbering



Spectral/hp plane parallelisation



Fourier parallelisation



Mixed parallelisation

slide-19
SLIDE 19

Outline

  • What are we doing?
  • Optimizing our implementations
  • From h to p efficiently
  • Variable p
  • Cloud Computing
slide-20
SLIDE 20

Evaluation Strategies for iterative solvers

slide-21
SLIDE 21

P

t tLocMat

Local Sum-factorisation Local Matrix Global Matrix 5 10 15 1 2 3 4 5 6 7

T TLocMat

=

=

2 x

  • mass matrix operator: ˆ

gi =

  • j

(Φi, Φj)Ω ˆ fj ∀i

Computational results

Vos, Sherwin, Kirby, JCP, 2010

slide-22
SLIDE 22
  • ⇥2u(x) λu(x) = f(x)

Local Sum-factorisation Local Matrix Global Matrix Optimal 100 200 300 400 500 600 RunTime P + 1 2 4 6 8 10 12 14 16 10 100 1000 10000 100000 5 10 15 20 25

  • minimal run-time

Error vs computational cost?

¡9 ¡Elements, ¡P=6 ¡ ¡

10−1

slide-23
SLIDE 23

P + 1 2 4 6 8 10 12 14 16 10 100 1000 10000 100000 5 10 15 20 25

  • ¡ ¡ ¡ ¡ ¡ ¡ ¡minimal ¡run-­‑time ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡-­‑ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡path ¡of ¡optimal ¡discretisations

P 1/h Sum-factorisation Local Matrix Global Matrix Optimal 1 5 10 15 5 10 15 20 25

Error vs computational cost?

10−1

slide-24
SLIDE 24

P 1/h 1 5 10 15 101 102 103 104 105 2 4 6 8 10 12 14 16 18 20

Computational results: Non smooth solution

  • ¡minimal ¡run-­‑time ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡-­‑ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡corner ¡problem ¡(error ¡= ¡10-­‑4)

⇥2u(x) λu(x) = f(x) Helmholtz ¡equation

irregular ¡solution

  • u(r, θ) = r

2 3 sin(2

3θ + π 3 )

xi = ✓ i nel ◆3

slide-25
SLIDE 25

P 1/h 1 5 10 15 101 102 103 104 105 2 4 6 8 10 12 14 16 18 20

Computational results

  • ¡minimal ¡run-­‑time ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡-­‑ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡path ¡of ¡optimal ¡discretisations

P 1/h Dof Sum-factorisation Local Matrix Global Matrix Optimal 1 5 10 15 2 4 6 8 10 12 14 16 18 20

slide-26
SLIDE 26

Outline

  • What are we doing?
  • Optimizing our implementations
  • Variable p
  • Cloud Computing
slide-27
SLIDE 27

Local Matrix: Hardware diversity

n=4 n=8 n=6 n=10 n=18 n=27 n=343

P=6

slide-28
SLIDE 28

6 5 4 3 2 1

0.5 1

  • 1
  • 0.5

0.5 1 x

  • 1
  • 0.5

0.5 1 y

Solution Variable P Variable P Error Fixed P error

Variable matrix size due to variable p

slide-29
SLIDE 29

How many parameters?

P1 P2 P3 P4 P5,P6 6 parameters P1 P2 P3 P4,P5 5 parameters

Hexahedral: 12 edges, 8 faces, 1 interior = 31 parameters Tetrahedral: 6 edges, 4 faces, 1 interior = 17 parameters

slide-30
SLIDE 30

Tensor product design

φpq(ξ1,ξ2) = hp(ξ1) hq(ξ2)

hp(ξ1)

ξ1 ξ2

hq(ξ2)

p q

p q

φpq(ξ1,ξ2) = ψp(ξ1) ψq(ξ2)

ψp(ξ1)

ξ1 ξ2

ψq(ξ2)

p q

p q

a a

a a
slide-31
SLIDE 31

Zero packing

P1 P2 P3 P4 P5,P6 6 parameters

φpq(ξ1,ξ2) = ψp(ξ1) ψq(ξ2)

ψp(ξ1)

ξ1 ξ2

ψq(ξ2)

p q p q a a a a

P1=3 P3=1 P2=2 P4=2 P5=3 P6=2 max(P1,P3,P5)=3 max(P2,P4,P5)=2 2 parameters

slide-32
SLIDE 32

Helmholtz example

P=4 P=8 P=12 P=17

slide-33
SLIDE 33

LibHPC

  • J. Cohen, P. Burovskiy, J. Darlington
  • Target software on multi-core, distributed &

hetrogeneous platforms

  • Run on Infrastructure-as-a-service (IaaS) clouds
  • Why?
  • Intermittent running makes access to HPC difficult
  • Scale resource beyond local capacity
slide-34
SLIDE 34

Heterogeneous Computing Infrastructure, e.g. Infrastructure as a Service Cloud Computing Platforms Disk Image Repository

Nektar++ Disk Image Nektar++ libhpc Job Manager Nektar++ Disk Image Developer Builds image Published to repository

Libhpc Deployer User

User Job Specification

Nektar++ Virtual Machine Disk image deployed to execution platform Deployer requests startup of cloud resources Nektar++ Virtual Machine Nektar++ Virtual Machine Nektar++ Virtual Machine Nektar++ Virtual Machine Communication between VM instances for parallel computations

slide-35
SLIDE 35

) (1) 0.5 1 1.5 2 2.5 3 3.5 1 2 4 8 16 32 Runtime (s x103) Cores Non-virtual Virtual Libhpc

5 10 15 20 25 30 35 5 10 15 20 25 30 35 Speedup Cores Ideal Non-virtual Virtual Libhpc

slide-36
SLIDE 36

Summary

  • Presented implementation optimisations to blend

high and low order polynomial order

  • Mixed implementation of basic operators
  • Mixed Fourier discretisations.
  • Does cloud computing offer possibilities?