Adapting complex code to take advantage of new computing HPC architectures is a cumbersome task. The development life cycle of weather models does not match the fast pace of the new hardware releases. Therefore, restructuring the code and applying specific architecture optimization is often needed to get optimal performance when porting models to those new architectures. This leads to multiple specific versions of the same code optimized for a single target supercomputer and not portable among them.
In order to keep a single source code and get performance portability on different hardware, we propose a one-column model abstraction for physical parameterizations.
It supports domain scientists who do not want to be concerned about HPC optimizations for multiple columns.
We are developing a directive language and a tool named CLAW that is able to apply automatic code transformation on abstracted code to produce parallelized versions for dedicated target architecture.