Edward Yang: Porting Harder, Looking Better, Running Faster, Getting Stronger: The Second Year of Porting MOM6 to GPUs
Since the last ACCESS-NRI workshop, the MOM6 GPU porting team has been working hard to improve on our first-year achievements. Last year, our GPU dynamical core only ran more cost-efficiently at large-enough problem sizes. This year, it’s unequivocally faster and more efficient across the board. As a bonus, the same changes have in some cases sped up our existing CPU runs too.
The key development that enabled this is a hybrid loop blocking strategy, discovered while wrestling with the challenging question: how do we make the code fast enough for GPUs without duplicating code and impacting existing CPU runs? This approach is fast on GPUs, and harmless or a potential free win for CPUs.
This poster highlights how we’ve made the MOM6 GPU code look better with the hybrid loop blocking approach, and exactly how much we’ve made the MOM6 dynamical core on GPUs run faster. It will also demonstrate the strength of our continued porting efforts by detailing new modules we have successfully ported alongside their current performance. Finally, the poster will provide a high-level timeline for where we’ll be focusing our efforts in the coming year.