Poster Title:  Stairway to Haline: GPU Acceleration of a 2D Double-Diffusive Convection Code
Poster Abstract: 

Thermohaline staircases are large-scale oceanic structures spanning depths of hundreds of metres. Their name comes from the distinctive staircase-like pattern that appears when temperature (or salinity) is plotted with depth, appearing as thick steps of relatively constant temperature and salinity between thin regions of rapid changes. The precise details of how these staircases form are still debated, however it's well known they require the interaction between temperature and salinity gradients known as double-diffusive convection.

The main force in driving convection is buoyancy. Since differences in both temperature and salinity produce differences in density, gradients in either can drive convection. When hot, salty water sits above cold, fresh water, the resultant double-diffusive convection is called salt-fingering, known to be a potential mechanism in the development and maintenance of thermohaline staircases. In the thin regions between the thick, constant-temperature and constant-salinity steps in thermohaline staircases, it's thought that salt-fingering is the main process that efficiently transports heat and salt across the thin region, maintaining the structure of the entire staircase. While the thickness of a single step can be on the order of tens of metres, the thickness of a salt-fingering layer can be on the order of centimetres.

This poster focusses on a proof-of-concept CUDA acceleration of a code used to simulate double-diffusive convection in 2D, with a view to studying thermohaline staircases. The main algorithm is made up of a vertical finite-difference expansion and a horizontal spectral expansion, with the nonlinear interactions of spectral modes handled using a Galerkin method. To properly resolve the smallest scales, extremely high spatial resolution is required, hence the use of GPUs.

Although the algorithm is fully functional and accelerated on a single node using OpenMP, the GPU acceleration is a work in progress, with the algorithm mostly, but not totally, implemented. Preliminary profiling of individual components show an acceleration of between 10-100x.

Poster ID:  B-17
Poster File: 
Poster Image: 
Poster URL: