Description
Reproducer (GPU resources are required, and @show ClimaComms.device(cspace)
should show CUDADevice
):
#=
git clone https://github.com/CliMA/ClimaCore.jl
cd ClimaCore.jl/
julia --project=test
using Revise; include("../perf/cuda_adapt_inference.jl")
=#
using Revise
using Cthulhu,BenchmarkTools,CUDA,Adapt, Test,JET
import ClimaCore;
import ClimaComms;
import ClimaCore: Fields, Geometry, Spaces
import Base.Broadcast: broadcasted
FT = Float64;
context = ClimaComms.SingletonCommsContext()
cspace = Spaces.PointSpace(context, Geometry.XPoint(FT(π)))
@show ClimaComms.device(cspace)
ρ = Fields.Field(FT, cspace);
bc = broadcasted(*, 1, broadcasted(+, ρ, 1));
Adapt.adapt(CUDA.KernelAdaptor(), bc.args);
@test_opt ignored_modules = (CUDA,) Adapt.adapt(CUDA.KernelAdaptor(), bc.args);
You may need to have JET
/CUDA
/Test
in your local environment for this reproducer to work.
Metadata
Metadata
Assignees
Labels
No labels