CyprienBosserelle / BG_Flood

Numerical model for simulating shallow water hydrodynamics on the GPU using an Adaptive Mesh Refinment type grid. The model was designed with the goal of simulating inundation (River, Storm surge or tsunami). The model uses a Block Uniform Quadtree approach that runs on the GPU but the adaptive/multi-resolution/AMR is being implemented and not yet operational. The core SWE engine and adaptivity has been inspired and taken from St Venant solver from Basilisk and the CUDA GPU memory model has been inspired by the work from Vacondio _et al._2017)
GNU General Public License v3.0
34 stars 15 forks source link

Slow runtimes with boundary forcing caused by slow texture fetch #100

Closed CyprienBosserelle closed 7 months ago

CyprienBosserelle commented 9 months ago

The problem

Slow runtimes with boundary forcing caused by slow texture fetch. Using a large file as input to the boundary.

GPU total runtime with full bnd total runtime with no bnd total runtime with trimmed bnd
QP620 207 s 80 s 95 s
A100 128 s 14 s 31 s

possible solutions

Easy but limited effectiveness

  1. automatically trim out bnd values outside of the model running period. (easy in appearance but need to move the texture allocation away )

More tricky

CyprienBosserelle commented 7 months ago

closing for now. This is only an issue when boundary is forced too often for long times.