HPC Introduction

From Tuflow
Revision as of 08:14, 21 November 2017 by Stephen.kime (talk | contribs)
Jump to navigation Jump to search

As of TUFLOW build 2017-09-AA, TUFLOW offers HPC (Heavily Parallelised Compute) as an alternate 2D Shallow Water Equation (SWE) solver to TUFLOW Classic. TUFLOW Classic has only ever had the capacity to run a simulation on a single CPU core. HPC provides parallelisation of the TUFLOW model allowing modellers to run a single TUFLOW model across multiple CPU cores or GPU graphics cards which utilise thousands of smaller CUDA* cores. This is shown to provide significantly quicker model run times for TUFLOW users.

Parallelisation modelling breaks up the model into a number of pieces (equal to the number of cores the model is split across). Each piece of the model is run on a different processor with information across each piece of the model shared between processors at each timestep. Consider the image below, where each quadrant of cells is a piece of the model being run on a different processor. Information in the cells along the boundaries of these quadrants (adjacent to the red lines) need to share information with each other at each timestep to be able to solve the shallow water equation. This is achievable because TUFLOW HPC is an explicit finite volume solution which differs to TUFLOW Classic which is an implicit finite difference equation.

2D2D Guidance 000.JPG

The explicit finite volume solution scheme utilised in HPC is mass conserving and requires numerical convergence to a high precision. This differs to TUFLOW Classic, which can continue to simulate a model with high volume error due to it being an implicit finite difference scheme. For HPC to achieve numerical convergence and mass conservation it is not possible to run with a fixed timestep as TUFLOW Classic is able to. HPC must change and adapt the timestep to the conditions within a given cell at a given point in time. This is typically controlled by the water velocity, depth and/or turbulence. The need for adaptive timestepping in HPC and the equations that control the necessary timestep for numerical convergence are described further on our HPC Adaptive Timestep Wiki page.

By default HPC is a 2nd order solution scheme (geographically) like Classic which is an update from the superseded TUFLOW GPU solution which is a 1st order finite volume solution scheme. This means that HPC utilises additional points within the cell to interpolate from. It could be considered like having an upstream (backward) and downstream (forward) point to interpolate from, as oppose to a single downstream (forward) point of the cell in TUFLOW GPU. This higher order scheme provides an improved accuracy of the finite volume derivative, which becomes particularly beneficial when solving the SWE across steep gradients and weirs.