Computing efficiency of XBeach hydro- and wave dynamics on Graphics Processing Units (GPUs). (November 2022) - Rautenbach, Christo; Trenham, Claire; Benn, David; Hoeke, Ron; Bosserelle, Cyprien
Abstract: Numerical prediction of coastal inundation can be complex due to the multiple physical processes involved and typically requires two-dimensional numerical model extents, particularly in areas with complex along-shore morphology. Such model domains often incur relatively high computational expense. Recent extreme inundation studies for Wellington, New Zealand, were executed using the numerical tool, XBeach. Here, the two-dimensional physical dynamics associated with multiple small embayments and both reef and sandy beach substrates, require large, high spatial resolution numerical model extents, informed by a multi-source elevation surface. XBGPU, is a translation of key XBeach features into code that permits GPU-based acceleration. The present study presents a comparison between XBeach and XBGPU for the same numerical model configuration and extents. Three model resolutions were employed, ranging from a typical desktop CPU based XBeach model resolution, to the highest resolution model that will require High Performance Computing (HPC) scale resources. Two CPU HPC facilities were used and five GPUs to investigate the scalability of both XBeach and XBGPU. The latter ranged from desktop grade units to GPUs associated with professional computing facilities. XBeach scalability is investigated by mean of the speed-up ratio, the time saving ratio and the computational efficiency. These are in reference to the computational speed of a model running on one CPU core. The XBGPU speed-up ratio is presented as a function of the slowest GPU. Direct comparisons between XBeach and XBGPU were achieved by using computational capacity as a metric. The results indicate that even a desktop grade GPU can compete with the computational efficiency of HPC-scale CPU facilities. Small model resolutions presented inefficient scaling on both high-performance CPUs and GPUs while the high-resolution model presented near linear scalability for the high-performance GPUs. Nevertheless, HPCs can be efficient to solve large computational problems if enough CPUs are employed. Highlights: A subset of XBeach, translated to be executed on GPUs are presented (XBGPU). XBGPU hydrodynamic and wave dynamics are compared with XBeach. The scalability of both implementations is presented and compared. For XBeach, two HPCs were used while five GPUs were used for XBGPU. Three model grid resolutions were used to compare performance.