Open
Description
I've boiled down a reproducer below, I can try to simplify it more, but this is as far as I've gotten.
julia 1.10
dot: 0.354083 seconds (2.20 M allocations: 140.975 MiB, 28.06% gc time, 99.74% compilation time)
julia 1.11
dot: 0.808421 seconds (11.89 M allocations: 536.399 MiB, 17.89% gc time, 99.87% compilation time)
reproducer
using ClimaCore.Fields: Field
using ClimaCore.CommonSpaces
using ClimaCore.MatrixFields
FT = Float64;
cspace = ExtrudedCubedSphereSpace(FT;
z_elem = 10,
z_min = 0,
z_max = 1,
radius = 10,
h_elem = 10,
n_quad_points = 4,
staggering = CellCenter()
);
ᶜᶜmatrix_with_outside_entries = Field(TridiagonalMatrixRow{FT}, cspace);
ᶜᶜmatrix_without_outside_entries = Field(DiagonalMatrixRow{FT}, cspace);
@time "dot" @. ᶜᶜmatrix_without_outside_entries * ᶜᶜmatrix_with_outside_entries;