Unlocking the Power of Parallel Computing: GPU technologies for Ocean Forecasting
Abstract. Operational ocean forecasting systems are complex engines that must execute ocean models with high performance to provide timely products and datasets. Significant computational resources are then needed to run high-fidelity models and, historically, technological evolution of microprocessors has constrained data parallel scientific computation. Today, GPUs offer an additional and valuable source of computing power to the traditional CPU-based machines: the exploitation of thousands of threads can significantly accelerate the execution of many models, ranging from traditional HPC workloads of finite-difference/volume/element modelling through to the training of deep neural networks used in machine learning and artificial intelligence. Despite the advantages, GPU usage in ocean forecasting is still limited due to the legacy of CPU-based model implementations and the intrinsic complexity of porting core models to GPU architectures. This review explores the potential use of GPU in ocean forecasting and how the computational characteristics of ocean models can influence the suitability of GPU architectures for the execution of the overall value chain: it discusses the current approaches to code (and performance) portability, from CPU to GPU, differentiating among tools that perform code-transformation, easing the adaptation of Fortran code for GPU execution (like PSyclone) or direct use of OpenACC directives (like ICON-O), to adoption of specific frameworks that facilitate the management of parallel execution across different architectures.