PyFR: An Open Source Framework for Solving Advection-Diffusion Type Problems on Streaming Architectures using the Flux Reconstruction Approach
arXiv:1312.1638 · doi:10.1016/j.cpc.2014.07.011
Abstract
High-order numerical methods for unstructured grids combine the superior accuracy of high-order spectral or finite difference methods with the geometric flexibility of low-order finite volume or finite element schemes. The Flux Reconstruction (FR) approach unifies various high-order schemes for unstructured grids within a single framework. Additionally, the FR approach exhibits a significant degree of element locality, and is thus able to run efficiently on modern streaming architectures, such as Graphical Processing Units (GPUs). The aforementioned properties of FR mean it offers a promising route to performing affordable, and hence industrially relevant, scale-resolving simulations of hitherto intractable unsteady flows within the vicinity of real-world engineering geometries. In this paper we present PyFR, an open-source Python based framework for solving advection-diffusion type problems on streaming architectures using the FR approach. The framework is designed to solve a range of governing systems on mixed unstructured grids containing various element types. It is also designed to target a range of hardware platforms via use of an in-built domain specific language based on the Mako templating engine. The current release of PyFR is able to solve the compressible Euler and Navier-Stokes equations on grids of quadrilateral and triangular elements in two dimensions, and hexahedral elements in three dimensions, targeting clusters of CPUs, and NVIDIA GPUs. Results are presented for various benchmark flow problems, single-node performance is discussed, and scalability of the code is demonstrated on up to 104 NVIDIA M2090 GPUs. The software is freely available under a 3-Clause New Style BSD license (see www.pyfr.org).
Cited by in corpus (36)
- Nektar++: enhancing the capability and application of high-fidelity spectral/ element methods
- GPU-accelerated discontinuous Galerkin methods on hybrid meshes
- HORSES3D: a high-order discontinuous Galerkin solver for flow simulations and multi-physics applications
- Positivity-Preserving Entropy-Based Adaptive Filtering for Discontinuous Spectral Element Methods
- OpenSBLI: Automated code-generation for heterogeneous computing architectures applied to compressible fluid dynamics on structured grids
- GPU performance analysis of a nodal discontinuous Galerkin method for acoustic and elastic models
- Generalised Summation-by-Parts Operators and Variable Coefficients
- Accuracy, Stability, and Performance Comparison between the Spectral Difference and Flux Reconstruction Schemes
- A Parallel Direct Cut Algorithm for High-Order Overset Methods with Application to a Spinning Golf Ball
- Accelerating CFD simulation with high order finite difference method on curvilinear coordinates for modern GPU clusters
- A dynamically load-balanced parallel -adaptive implicit high-order flux reconstruction method for under-resolved turbulence simulation
- Toward Discretization-Consistent Closure Schemes for Large Eddy Simulation Using Reinforcement Learning
- Artificial Compressibility Approaches in Flux Reconstruction for Incompressible Viscous Flow Simulations
- Deep learning fluid flow reconstruction around arbitrary two-dimensional objects from sparse sensors using conformal mappings
- Provably Stable Flux Reconstruction High-Order Methods on Curvilinear Elements
- Scalable communication for high-order stencil computations using CUDA-aware MPI
- Positivity-preserving entropy filtering for the ideal magnetohydrodynamics equations
- Partially-Averaged Navier-Stokes Simulations of Turbulence Within a High-Order Flux Reconstruction Framework
- A positivity-preserving and conservative high-order flux reconstruction method for the polyatomic Boltzmann--BGK equation
- Accelerating solutions of one-dimensional unsteady PDEs with GPU-based swept time-space decomposition
- Quantum homotopy analysis method with quantum-compatible linearization for nonlinear partial differential equations
- Hyperbolic Diffusion in Flux Reconstruction: Optimisation through Kernel Fusion within Tensor-Product Elements
- Adaptive Compressible Smoothed Particle Hydrodynamics
- Airfoil Tonal Noise Reduction by Roughness Elements. Part II -- Direct Simulations
- An efficient eigenvalue bounding method: CFL condition revisited
- A Novel Finite Difference Method for Euler Equations in 2D Unstructured Meshes
- On the implementation of flux limiters in algebraic frameworks
- A discontinuous Galerkin fast spectral method for multi-species full Boltzmann on streaming multi-processors
- Tensor Processing Primitives: A Programming Abstraction for Efficiency and Portability in Deep Learning & HPC Workloads
- On Fourier analysis of polynomial multigrid for arbitrary multi-stage cycles
- On the performance of GPU accelerated q-LSKUM based meshfree solvers in Fortran, C++, Python, and Julia
- Heterogeneous Computing on Mixed Unstructured Grids with PyFR
- Discontinuity-resolving shock-capturing schemes on unstructured grids
- A flux reconstruction kinetic scheme for the Boltzmann equation
- A High Order Flux Reconstruction Interface Tracking Method Using Preconditioned Phase Field
- A Riemann Difference Scheme for Shock Capturing in Discontinuous Finite Element Methods