CliMA / ClimaCore.jl

CliMA model dycore
https://clima.github.io/ClimaCore.jl/dev
Apache License 2.0
86 stars 8 forks source link

Add support for regridding multiple Fields at the same time #1668

Closed Sbozzolo closed 5 months ago

Sbozzolo commented 5 months ago

The distributed remapper Remapper remaps one Field at the time. This allows us to keep the Remapper and the target Fields separate. However, this comes at the cost: if we are remapping multiple Fields at the same time, the Remapper launch one GPU kernel and MPI reduction per Field. We can be more efficient than that: we could combine the kernels and MPI calls.

The Remapper could be extended to allow multiple Fields that are defined on the same space to be remapped at the same time. This can be accomplished by increasing the rank of the storage areas used by the Remapper (_local_interpolated_values, field_values, and _interpolated_values).

I think it is possible to stil keep the Remapper independent of the target Fields, but I have to think how to accomplish this.

Sbozzolo commented 5 months ago

Closed by #1669