PyFR: Next Generation Computational Fluid...

86
P. E.Vincent, F. D.Witherden, A. M. Farrington, G. Ntemos, B. C.Vermeire, J. S. Park, A. S. Iyer Department of Aeronautics Imperial College London 20 th March 2015 PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms

Transcript of PyFR: Next Generation Computational Fluid...

Page 1: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

P. E. Vincent, F. D. Witherden, A. M. Farrington, G. Ntemos, B. C. Vermeire, J. S. Park, A. S. Iyer

!Department of Aeronautics

Imperial College London !

!

!

!

!

20th March 2015

PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms

Page 2: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Overview

• Motivation

• Flux Reconstruction

• Modern Hardware

• PyFR

• Results

• Summary

Page 3: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Motivation Motivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Current industry standard CFD tools have limited capabilities

Page 4: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Motivation Motivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Technology is decades old and designed for solving steady flow

problems (using RANS approach)

Page 5: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Motivation Motivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Technology is decades old and designed for solving steady flow

problems (using RANS approach)

Page 6: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Motivation Motivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Need to expand the ‘industrial CFD envelope’

Page 7: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Motivation Motivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

[1] Murray Cross, Airbus, Technology Product Leader - Future Simulations (2012)

Page 8: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Motivation Motivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• “reliable use of CFD has remained confined to a small but important region of the operating design space due to the inability of current methods to reliably predict turbulent separated flows” [2]

[2] J. Slotnick et al. Vision 2030 Study: A Path to Revolutionary Computational Aerosciences, NASA Langley Research Center Report, 2013

Page 9: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Motivation Motivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Objective of our research is to advance industrial CFD capabilities from their current ‘RANS plateau’

Page 10: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Motivation Motivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• We aim to develop the de facto industry standard technology for affordable (and hence industrially relevant) high-fidelity scale-resolving simulations of unsteady flow phenomena within the vicinity of complex geometric configurations

Page 11: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Motivation Motivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Achieved by intelligently leveraging benefits of (and synergies between) high-order Flux Reconstruction (FR) methods for unstructured grids and massively-parallel modern hardware platforms

Page 12: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Motivation Motivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Flux Reconstruction +

Modern Hardware

Page 13: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Flux ReconstructionMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Flux Reconstruction (FR) approach to high-order methods was first proposed by Huynh in 2007 [3]

• High-order accurate in space

• Works on unstructured grids

[3] H. T. Huynh. A Flux Reconstruction Approach to High-Order Schemes Including Discontinuous Galerkin Methods. AIAA Paper 2007-4079. 2007

Page 14: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Flux ReconstructionMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• So ...

High Accuracy + Complex Geometry

Page 15: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Flux ReconstructionMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Nature of FR scheme depends on location of solution points, interface flux, correction function

• Can recover a wide range of schemes via judicious choice of correction function [4]

• A one-parameter family of provably stable FR schemes have been identified [5]

[4] H. T. Huynh. A flux Reconstruction Approach to High-Order Schemes Including Discontinuous Galerkin Methods. AIAA Paper 2007-4079. 2007 [5] P. E. Vincent, P. Castonguay, A. Jameson. A New Class of High-Order Energy Stable Flux Reconstruction Schemes. Journal of Scientific Computing. 2011

Page 16: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Modern HardwareMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Page 17: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Modern HardwareMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Page 18: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Modern HardwareMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• FLOPS outpacing Memory Bandwidth

Page 19: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Modern HardwareMotivation | Flux Reconstruction | Modern Hardware | PyFR | Pathways to Impact | Summary

0E+00

1.75E+05

3.5E+05

5.25E+05

7E+05

1994 1999 2004 2009 2014

CPU MB/S CPU MFLOP/S

Page 20: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Modern HardwareMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Also, FLOPS come in parallel …

Page 21: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Modern HardwareMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• And, different programming languages for different devices

Page 22: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Modern HardwareMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• So a challenging environment ...

Page 23: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Modern HardwareMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• But significant FLOPS now available if they can be harnessed …

1.4TFlops (Double Precision)

Page 24: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

PyFRMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Flux Reconstruction +

Modern HardwarePyFR

Page 25: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

PyFRMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Governing Equations Compressible Euler Compressible Navier Stokes

Spatial DiscretisationArbitrary order FR on mixed

unstructured grids (tris, quads, hexes, tets, prisms, pyramids)

Temporal Discretisation Range of explicit Runge-Kutta schemes

PlatformsCPU clusters (C-OpenMP-MPI)

Nvidia GPU clusters (CUDA-MPI) AMD GPU clusters (OpenCL-MPI)

Precision Single Double

Input Gmsh

Output Paraview

• Features (v0.2.4 - current release)

Page 26: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

PyFRMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Governing Equations Compressible Euler Compressible Navier Stokes

Spatial DiscretisationArbitrary order FR on mixed

unstructured grids (tris, quads, hexes, tets, prisms, pyramids)

Temporal Discretisation Range of explicit Runge-Kutta schemes

PlatformsCPU clusters (C-OpenMP-MPI)

Nvidia GPU clusters (CUDA-MPI) AMD GPU clusters (OpenCL-MPI)

Precision Single Double

Input Gmsh

Output Paraview

• Features (v0.2.4 - current release)

Page 27: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

PyFRMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Setup • Distributed memory parallelism • Outer ‘for’ loop and calls to

Hardware Specific Kernels

Python Outer Layer (Hardware Independent)

• Python Outer Layer (Hardware Independent)

Page 28: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

PyFRMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Setup • Distributed memory parallelism • Outer ‘for’ loop and calls to

Hardware Specific Kernels

Python Outer Layer (Hardware Independent)

• Need to generate the Hardware Specific Kernels

Page 29: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

PyFRMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Setup • Distributed memory parallelism • Outer ‘for’ loop and calls to

Hardware Specific Kernels

Python Outer Layer (Hardware Independent)

• Two types of kernel are required …

Matrix Multiply Kernels

Point-Wise Nonlinear Kernels

• Data interpolation/extrapolation etc.

• Flux functions, Riemann solvers etc.

Page 30: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

PyFRMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Setup • Distributed memory parallelism • Outer ‘for’ loop and calls to

Hardware Specific Kernels

Python Outer Layer (Hardware Independent)

• For matrix multiply kernels it is pretty easy …

Matrix Multiply Kernels

• Data interpolation/extrapolation etc.

Use DGEMM from vendor supplied

BLAS

Point-Wise Nonlinear Kernels

• Flux functions, Riemann solvers etc.

Page 31: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

PyFRMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Setup • Distributed memory parallelism • Outer ‘for’ loop and calls to

Hardware Specific Kernels

Python Outer Layer (Hardware Independent)

Pass Mako derived kernel

templates through Mako derived

templating engine

• Harder for point-wise nonlinear kernels …

Matrix Multiply Kernels

Point-Wise Nonlinear Kernels

• Data interpolation/extrapolation etc.

• Flux functions, Riemann solvers etc.

Use DGEMM from vendor supplied

BLAS

Page 32: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

PyFRMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Setup • Distributed memory parallelism • Outer ‘for’ loop and calls to

Hardware Specific Kernels

Python Outer Layer (Hardware Independent)

Pass Mako derived kernel

templates through Mako derived

templating engine

C/OpenMP Hardware Specific Kernels

• These can now be called

CUDA Hardware Specific Kernels

OpenCL Hardware Specific Kernels

Matrix Multiply Kernels

Point-Wise Nonlinear Kernels

• Data interpolation/extrapolation etc.

• Flux functions, Riemann solvers etc.

Use DGEMM from vendor supplied

BLAS

Page 33: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

PyFRMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Setup • Distributed memory parallelism • Outer ‘for’ loop and calls to

Hardware Specific Kernels

Python Outer Layer (Hardware Independent)

Pass Mako derived kernel

templates through Mako derived

templating engine

C/OpenMP Hardware Specific Kernels

• These can now be called

CUDA Hardware Specific Kernels

OpenCL Hardware Specific Kernels

Matrix Multiply Kernels

Point-Wise Nonlinear Kernels

• Data interpolation/extrapolation etc.

• Flux functions, Riemann solvers etc.

Use DGEMM from vendor supplied

BLAS

Page 34: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

PyFRMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• ~5.5k lines of Python

Page 35: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

PyFRMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Open source ‘3 Clause New Style BSD License’

Page 36: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

PyFRMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Website: www.pyfr.org

• Twitter: @PyFR_Solver

• Paper: Computer Physics Communications [6]

[6] F. D. Witherden, A. M. Farrington, P. E. Vincent. PyFR: An Open Source Framework for Solving Advection-Diffusion Type Problems on Streaming Architectures using the Flux Reconstruction Approach. Accepted for publication in Computer Physics Communications. 2014

Page 37: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• 2D Euler vortex propagation

• Compare with analytical solution

Page 38: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• A movie …

Analytic PyFR (6th Order) YES! this is an animation!

Page 39: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• A movie …

Analytic ‘Industry Standard’

Page 40: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

log(

erro

r)

-7

-5

-3

-1

1

log(work)

1 3 5

• L2 error in density

Page 41: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

log(

erro

r)

-7

-5

-3

-1

1

log(work)

1 3 5

• L2 error in density

Page 42: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

log(

erro

r)

-7

-5

-3

-1

1

log(work)

1 3 5

• L2 error in density

t = 1

PyFR (GPUs)

Page 43: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

log(

erro

r)

-7

-5

-3

-1

1

log(work)

1 3 5

• L2 error in density

t = 1

PyFR (GPUs)

‘Industry Standard’ (CPUs)

Page 44: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

log(

erro

r)

-7

-5

-3

-1

1

log(work)

1 3 5

t = 5

• L2 error in density

Page 45: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

log(

erro

r)

-7

-5

-3

-1

1

log(work)

1 3 5

t = 50

• L2 error in density

Page 46: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• 3D Taylor-Green vortex breakdown

• Compare with spectral DNS results of van Rees et al. [7]

[7] W. M. van Rees, A. Leonard, D.I. Pullin, and P. Koumoutsakos. A Comparison of Vortex and Pseudo-Spectral Methods for the Simulation of Periodic Vortical Flows at High Reynolds Numbers. Journal of Computational Physics, 2011

Page 47: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• A movie …

Page 48: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Kin

etic

Ene

rgy

Dec

ay R

ate

0

0.004

0.008

0.011

0.015

t

0 5 10 15 20

• van Rees et al. spectral DNS

Page 49: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Kin

etic

Ene

rgy

Dec

ay R

ate

0

0.004

0.008

0.011

0.015

t

0 5 10 15 20

• van Rees et al. spectral DNS + PyFR (2nd Order)

Page 50: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Kin

etic

Ene

rgy

Dec

ay R

ate

0

0.004

0.008

0.011

0.015

t

0 5 10 15 20

• van Rees et al. spectral DNS + PyFR (3rd Order)

Page 51: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Kin

etic

Ene

rgy

Dec

ay R

ate

0

0.004

0.008

0.011

0.015

t

0 5 10 15 20

• van Rees et al. spectral DNS + PyFR (4th Order)

Page 52: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Kin

etic

Ene

rgy

Dec

ay R

ate

0

0.004

0.008

0.011

0.015

t

0 5 10 15 20

• van Rees et al. spectral DNS + PyFR (5th Order)

Page 53: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Kin

etic

Ene

rgy

Dec

ay R

ate

0

0.004

0.008

0.011

0.015

t

0 5 10 15 20

• van Rees et al. spectral DNS + PyFR (6th Order)

Page 54: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Kin

etic

Ene

rgy

Dec

ay R

ate

0

0.004

0.008

0.011

0.015

t

0 5 10 15 20

• van Rees et al. spectral DNS + PyFR (6th Order)

‘Industry Standard’

Page 55: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Enst

roph

y

0

3

6

9

12

t

0 5 10 15 20

• van Rees et al. spectral DNS + PyFR (2nd Order)

Page 56: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Enst

roph

y

0

3

6

9

12

t

0 5 10 15 20

• van Rees et al. spectral DNS + PyFR (2nd Order)

Page 57: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Enst

roph

y

0

3

6

9

12

t

0 5 10 15 20

• van Rees et al. spectral DNS + PyFR (3rd Order)

Page 58: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Enst

roph

y

0

3

6

9

12

t

0 5 10 15 20

• van Rees et al. spectral DNS + PyFR (4th Order)

Page 59: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Enst

roph

y

0

3

6

9

12

t

0 5 10 15 20

• van Rees et al. spectral DNS + PyFR (5th Order)

Page 60: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Enst

roph

y

0

3

6

9

12

t

0 5 10 15 20

• van Rees et al. spectral DNS + PyFR (6th Order)

Page 61: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Enst

roph

y

0

3

6

9

12

t

0 5 10 15 20

• van Rees et al. spectral DNS + PyFR (6th Order)

‘Industry Standard’

Page 62: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

log(

erro

r)

-2.5

-1.25

0

log(work)

5 6 7

• L∞ error in decay rate

PyFR (GPUs)

‘Industry Standard’ (CPUs)

Page 63: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• L∞ error in enstrophy

PyFR (GPUs)

log(

erro

r)

-2.5

-1.25

0

log(work)

5 6 7

‘Industry Standard’ (CPUs)

Page 64: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

log(

erro

r)

-2.5

-1.25

0

log(work)

5 6 7

• L∞ difference between decay rate and enstrophy

PyFR (GPUs)

‘Industry Standard’ (CPUs)

Page 65: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Flow over a circular cylinder

• Re = 3900

• Ma = 0.2

• Compare with Parnaudeau et al. [8]

[8] P. Parnaudeau, J. Carlier, D. Heitz, E. Lamballais. Experimental and Numerical Studies of the Flow Over a Circular Cylinder at Reynolds Number 3900. Physics of Fluids. 2008

Page 66: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• A movie …

Page 67: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

u̅(x,

0)

-0.5

0

0.5

1

1.5

x

0.5 1.5 2.5 3.5 4.5

• Parnaudeau et al. experiment

Page 68: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

u̅(x,

0)

-0.5

0

0.5

1

1.5

x

0.5 1.5 2.5 3.5 4.5

• Parnaudeau et al. experiment + Parnaudeau et al. LES

Page 69: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

u̅(x,

0)

-0.5

0

0.5

1

1.5

x

0.5 1.5 2.5 3.5 4.5

• Parnaudeau et al. experiment + PyFR (5th Order)

Page 70: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

u̅(1.

06,y

)

-0.5

0

0.5

1

1.5

y

-2 -1 0 1 2

• Parnaudeau et al. experiment

Page 71: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

u̅(1.

06,y

)

-0.5

0

0.5

1

1.5

y

-2 -1 0 1 2

• Parnaudeau et al. experiment + Parnaudeau et al. LES

Page 72: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

u̅(1.

06,y

)

-0.5

0

0.5

1

1.5

y

-2 -1 0 1 2

• Parnaudeau et al. experiment + PyFR (5th Order)

Page 73: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Parnaudeau et al. experimentu̅(

1.54

,y)

-0.5

0

0.5

1

1.5

y

-2 -1 0 1 2

Page 74: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Parnaudeau et al. experiment + Parnaudeau et al. LESu̅(

1.54

,y)

-0.5

0

0.5

1

1.5

y

-2 -1 0 1 2

Page 75: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

u̅(1.

54,y

)

-0.5

0

0.5

1

1.5

y

-2 -1 0 1 2

• Parnaudeau et al. experiment + PyFR (5th Order)

Page 76: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Flow over a NACA 0021 at 60 degree AoA

• Re = 270,000

• Ma = 0.2

Page 77: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• A movie …

Page 78: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Flow over a tandem cylinder and NACA 0012

• Re = 500,000

• Ma = 0.2

Page 79: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• A movie …

Page 80: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• Flow over an M219 Cavity

• Re = 540,000

• Ma = 0.7

Page 81: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

ResultsMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

• A movie …

Page 82: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

SummaryMotivation | Flux Reconstruction | Modern Hardware | PyFR | Results | Summary

Flux Reconstruction +

Modern HardwarePyFR

Page 83: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Team

Brian Vermeire Antony Farrington Lorenza Grechy Freddie Witherden

George Ntemos Francesco Iori Jin Seok Park Arvind Iyer

Page 84: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Funding

Page 85: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Project Partners

Page 86: PyFR: Next Generation Computational Fluid …on-demand.gputechconf.com/gtc/2015/presentation/S5372-Freddie... · PyFR: Next Generation Computational Fluid Dynamics on GPU Platforms.

Emerald and Wilkes

• The authors would like to acknowledge the work presented here made use of the EMERALD HPC facility provided by the Centre for Innovation, and the Wilkes GPU cluster at Cambridge University