Fortran and Kokkos in one WW3 binary

Fortran and Kokkos in one WW3 binary An architecture diagram generated by Archify. WW_KOKKOS_SNL1 · read at run time · one WW3 executable WW_KOKKOS_SNL1 read at run time Fortran W3SNL1 · the original routine · one WW3 executable Fortran W3SNL1 the original routine bind(C) interface · w3kokkosmd.F90, ISO_C_BINDING · one WW3 executable bind(C) interface w3kokkosmd.F90, ISO_C_BINDING Kokkos kernel · WW3's arrays, no copy, no reshape · one WW3 executable Kokkos kernel WW3's arrays, no copy, no reshape Serial or OpenMP · host memory · Architecture component Serial or OpenMP host memory CUDA · phase 1 copies per call · Architecture component CUDA phase 1 copies per call WW3's regtest matrix · test.comp, nccmp-tol · Architecture component WW3's regtest matrix test.comp, nccmp-tol =0: original path =1: new path calls runs on runs on both paths, same binary one WW3 executable Legend Frontend Backend Security External