diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 6819acf276..1c3a571caa 100755 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -987,6 +987,15 @@ steps: artifact_paths: - "examples/hybrid/box/output/box_advection_limiter_gaussian_bells_D0/*" + - label: ":computer: 3D Box limiters advection Gaussian bells GPU" + key: "gpu_box_advection_limiter_gaussian_bells" + command: + - "julia --color=yes --project=examples examples/hybrid/box/limiters_advection.jl gaussian_bells" + artifact_paths: + - "examples/hybrid/box/output/box_advection_limiter_gaussian_bells_D0/*" + agents: + slurm_gpus: 1 + - label: ":computer: 3D Box limiters advection slotted spheres" key: "cpu_box_advection_limiter_slotted_spheres" command: diff --git a/examples/hybrid/box/limiters_advection.jl b/examples/hybrid/box/limiters_advection.jl index 486e8fff99..29fd438d41 100644 --- a/examples/hybrid/box/limiters_advection.jl +++ b/examples/hybrid/box/limiters_advection.jl @@ -45,7 +45,7 @@ convergence_rate(err, Δh) = # Function space setup function hvspace_3D( ::Type{FT}; - device = ClimaComms.device(), + device, context = ClimaComms.SingletonCommsContext(device), xlim = (-2π, 2π), ylim = (-2π, 2π), @@ -187,7 +187,9 @@ end ENV["GKSwstype"] = "nul" using ClimaCorePlots, Plots Plots.GRBackend() -dirname = "box_advection_limiter_$(name(test_case))" +device = ClimaComms.device() +dev_suffix = device isa ClimaComms.CUDADevice ? "_gpu" : "" +dirname = "box_advection_limiter_$(name(test_case))$dev_suffix" FT = Float64; params = LimAdvectionParams{FT}(); @@ -282,6 +284,7 @@ for (k, horz_ne) in enumerate(horz_ne_seq) # Set up 3D spatial domain - doubly periodic box cspace, fspace = hvspace_3D( FT; + device, Nij = Nij, xelems = horz_ne, yelems = horz_ne,