Closed
Description
Reproducer:
import ClimaCore
import ClimaCore.Spaces as Spaces
import ClimaCore.Fields as Fields
using StaticArrays
include(
joinpath(pkgdir(ClimaCore), "test", "TestUtilities", "TestUtilities.jl"),
)
import .TestUtilities as TU
function foo!(args)
(; residual, temp, dt,a_imp, Ui) = args
i=1
@. residual = temp + dt * a_imp[i, i] * residual - Ui
return nothing
end
FT = Float32
cspace = TU.CenterExtrudedFiniteDifferenceSpace(FT);
Yc = fill((;a=FT(0)),cspace);
args = (;
residual=Fields.FieldVector(;c=Yc),
temp=Fields.FieldVector(;c=Yc),
a_imp=SMatrix{1,1}(rand(1,1)),
Ui=Fields.FieldVector(;c=Yc),
dt = 1.0,
);
foo!(args)
using JET
JET.@test_opt foo!(args)