Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into as/test-dss
Browse files Browse the repository at this point in the history
  • Loading branch information
akshaysridhar committed Jun 17, 2024
2 parents 2ca6c8e + 6d03f1d commit dad9d73
Show file tree
Hide file tree
Showing 95 changed files with 3,479 additions and 2,789 deletions.
403 changes: 208 additions & 195 deletions .buildkite/Manifest.toml

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion .buildkite/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ ProgressLogging = "33c8b6b6-d38a-422a-b730-caa89a2f386c"
QuadGK = "1fd47b50-473d-5c70-9696-f719f8f3bcdc"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
ReportMetrics = "c1654acf-408b-4272-96ce-66c258df8a6c"
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
SnoopCompile = "aa65fe97-06da-5843-b5b1-d5d13cad87d2"
Expand All @@ -56,3 +55,6 @@ TerminalLoggers = "5d786b92-1e48-4d6f-9151-6b4477ca9bed"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
ThreadsX = "ac1d9e8a-700a-412c-b207-f0111f4b6c0d"
URIs = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4"

[compat]
OrdinaryDiffEq = "6"
90 changes: 67 additions & 23 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,14 @@ steps:

- label: "Unit: RecursiveApply"
key: unit_recursive_apply
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/RecursiveApply/recursive_apply.jl"
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/RecursiveApply/unit_recursive_apply.jl"

- group: "Unit: Utilities"
steps:

- label: "Unit: plushalf"
key: unit_plushalf
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Utilities/plushalf.jl"
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Utilities/unit_plushalf.jl"

- group: "Unit: DataLayouts"
steps:
Expand All @@ -81,6 +81,14 @@ steps:
key: unit_data_fill
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/DataLayouts/unit_fill.jl"

- label: "Unit: data_opt_similar"
key: data_opt_similar
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/DataLayouts/opt_similar.jl"

- label: "Unit: data_ndims"
key: unit_data_ndims
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/DataLayouts/unit_ndims.jl"

- label: "Unit: data1d"
key: unit_data1d
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/DataLayouts/data1d.jl"
Expand Down Expand Up @@ -139,6 +147,14 @@ steps:
key: unit_meshes_rectangle
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Meshes/rectangle.jl"

- label: "Unit: meshes opt"
key: unit_meshes_opt
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Meshes/opt_meshes.jl"

- label: "Unit: meshes cubedsphere"
key: unit_meshes_cubed_sphere
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Meshes/cubedsphere.jl"

- group: "Unit: Topologies"
steps:

Expand Down Expand Up @@ -179,13 +195,16 @@ steps:

- label: "Unit: spaces"
key: unit_spaces
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Spaces/spaces.jl"
command:
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Spaces/unit_spaces.jl"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Spaces/opt_spaces.jl"

- label: "Unit: cuda spaces"
key: "gpu_cuda_spaces"
command:
- "julia --project=.buildkite -e 'using CUDA; CUDA.versioninfo()'"
- "srun julia --color=yes --check-bounds=yes --project=.buildkite test/Spaces/spaces.jl"
- "srun julia --color=yes --check-bounds=yes --project=.buildkite test/Spaces/unit_spaces.jl"
- "srun julia --color=yes --check-bounds=yes --project=.buildkite test/Spaces/opt_spaces.jl"
env:
CLIMACOMMS_DEVICE: "CUDA"
agents:
Expand Down Expand Up @@ -400,13 +419,18 @@ steps:

- label: "Unit: field"
key: unit_field
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Fields/field.jl"
command:
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Fields/unit_field.jl"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Fields/benchmark_field_multi_broadcast_fusion.jl"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Fields/convergence_field_integrals.jl"

- label: "Unit: field cuda"
key: unit_field_cuda
command:
- "julia --project=.buildkite -e 'using CUDA; CUDA.versioninfo()'"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Fields/field.jl"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Fields/unit_field.jl"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Fields/benchmark_field_multi_broadcast_fusion.jl"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Fields/convergence_field_integrals.jl"
env:
CLIMACOMMS_DEVICE: "CUDA"
agents:
Expand Down Expand Up @@ -442,7 +466,7 @@ steps:

- label: "Unit: diffusion2d"
key: unit_diffusion2d
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/spectralelement/diffusion2d.jl"
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/spectralelement/unit_diffusion2d.jl"

- label: "Unit: sphere geometry"
key: unit_sphere_geometry
Expand Down Expand Up @@ -470,19 +494,23 @@ steps:

- label: "Unit: sphere hyperdiffusion"
key: unit_sphere_hyperdiffusion
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/spectralelement/sphere_hyperdiffusion.jl"
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/spectralelement/unit_sphere_hyperdiffusion.jl"

- label: "Unit: sphere hyperdiffusion vec"
key: unit_sphere_hyperdiffusion_vec
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/spectralelement/sphere_hyperdiffusion_vec.jl"
command:
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/spectralelement/unit_sphere_hyperdiffusion_vec.jl"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/spectralelement/convergence_sphere_hyperdiffusion_vec.jl"

- label: "Unit: spec ops plane"
key: unit_spec_ops_plane
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/spectralelement/plane.jl"

- label: "Unit: column"
key: unit_column
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/finitedifference/column.jl"
command:
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/finitedifference/unit_column.jl"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/finitedifference/convergence_column.jl"

- label: "Unit: wfact"
key: unit_wfact
Expand All @@ -496,17 +524,30 @@ steps:
key: unit_fd_tensor
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/finitedifference/tensor.jl"

- label: "Unit: advection operator convergence"
key: unit_adv_conv
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/finitedifference/convergence_advection_diffusion1d.jl"
soft_fail: true

- label: "Unit: hyb ops 2d"
key: unit_hyb_ops_2d
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/hybrid/2d.jl"
command:
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/hybrid/unit_2d.jl"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/hybrid/convergence_2d.jl"

- label: "Unit: hyb ops 3d"
key: unit_hyb_ops_3d
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/hybrid/3d.jl"
command:
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/hybrid/unit_3d.jl"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/hybrid/convergence_3d.jl"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/hybrid/simulation_3d.jl"

- label: "Unit: hyb ops 3d CUDA"
key: unit_hyb_ops_3d_cuda
command: "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/hybrid/3d.jl"
command:
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/hybrid/unit_3d.jl"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/hybrid/convergence_3d.jl"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/hybrid/simulation_3d.jl"
env:
CLIMACOMMS_DEVICE: "CUDA"
agents:
Expand Down Expand Up @@ -557,8 +598,8 @@ steps:
- label: "Unit: hybrid operators cuda"
key: unit_ops_cuda
command:
- "julia --project=.buildkite -e 'using CUDA; CUDA.versioninfo()'"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/hybrid/cuda.jl CUDA"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/hybrid/unit_cuda.jl"
- "julia --color=yes --check-bounds=yes --project=.buildkite test/Operators/hybrid/simulation_cuda.jl"
env:
CLIMACOMMS_DEVICE: "CUDA"
agents:
Expand Down Expand Up @@ -1112,13 +1153,16 @@ steps:
# TODO: combine this with FD operators above
- label: "Perf: FD operators from the wild"
key: perf_FD_ops_examples
command: "julia --color=yes --project=.buildkite test/Operators/finitedifference/opt_examples.jl"
command:
- "julia --color=yes --project=.buildkite test/Operators/finitedifference/opt_examples.jl"
- "julia --color=yes --project=.buildkite test/Operators/finitedifference/benchmark_examples.jl"

- label: "Perf: FD operators from the wild (gpu)"
key: perf_FD_ops_examples_gpu
command:
- "julia --project=.buildkite -e 'using CUDA; CUDA.versioninfo()'"
- "julia --color=yes --project=.buildkite test/Operators/finitedifference/opt_examples.jl"
- "julia --color=yes --project=.buildkite test/Operators/finitedifference/benchmark_examples.jl"
env:
CLIMACOMMS_DEVICE: "CUDA"
agents:
Expand All @@ -1138,46 +1182,46 @@ steps:

- label: "Perf: FD operator benchmarks"
key: "perf_fd_ops"
command: "julia --color=yes --project=.buildkite test/Operators/finitedifference/column_benchmark.jl"
command: "julia --color=yes --project=.buildkite test/Operators/finitedifference/benchmark_column.jl"
soft_fail: true

- label: "Perf: SEM operator benchmarks (cuda Float32)"
key: "perf_gpu_spectral_ops_cuda_float32"
command:
- "julia --project=.buildkite -e 'using CUDA; CUDA.versioninfo()'"
- "julia --color=yes --project=.buildkite test/Operators/spectralelement/benchmark_ops.jl --device CUDA --float-type Float32"
- "julia --color=yes --project=.buildkite test/Operators/spectralelement/benchmark_ops.jl --float-type Float32"
env:
CLIMACOMMS_DEVICE: "CUDA"
agents:
slurm_gpus: 1

- label: "Perf: SEM operator benchmarks (CPU Float32)"
key: "perf_gpu_spectral_ops_cpu_float32"
command: "julia --color=yes --project=.buildkite test/Operators/spectralelement/benchmark_ops.jl --device CPU --float-type Float32"
command: "julia --color=yes --project=.buildkite test/Operators/spectralelement/benchmark_ops.jl --float-type Float32"

- label: "Perf: SEM operator benchmarks (cuda Float64)"
key: "perf_gpu_spectral_ops_cuda_float64"
command:
- "julia --project=.buildkite -e 'using CUDA; CUDA.versioninfo()'"
- "julia --color=yes --project=.buildkite test/Operators/spectralelement/benchmark_ops.jl --device CUDA --float-type Float64"
- "julia --color=yes --project=.buildkite test/Operators/spectralelement/benchmark_ops.jl --float-type Float64"
env:
CLIMACOMMS_DEVICE: "CUDA"
agents:
slurm_gpus: 1

- label: "Perf: SEM operator benchmarks (CPU Float64)"
key: "perf_gpu_spectral_ops_cpu_float64"
command: "julia --color=yes --project=.buildkite test/Operators/spectralelement/benchmark_ops.jl --device CPU --float-type Float64"
command: "julia --color=yes --project=.buildkite test/Operators/spectralelement/benchmark_ops.jl --float-type Float64"

- label: "Perf: SEM operator benchmarks (extruded CPU Float64)"
key: "perf_gpu_spectral_ops_extruded_cpu_float64"
command: "julia --color=yes --project=.buildkite test/Operators/spectralelement/benchmark_ops.jl --device CPU --float-type Float64 --space-type ExtrudedFiniteDifferenceSpace"
command: "julia --color=yes --project=.buildkite test/Operators/spectralelement/benchmark_ops.jl --float-type Float64 --space-type ExtrudedFiniteDifferenceSpace"

- label: "Perf: SEM operator benchmarks"
key: "perf_gpu_spectral_ops"
command:
- "julia --project=.buildkite -e 'using CUDA; CUDA.versioninfo()'"
- "julia --color=yes --project=.buildkite test/Operators/spectralelement/benchmark_ops.jl --device CUDA"
- "julia --color=yes --project=.buildkite test/Operators/spectralelement/benchmark_ops.jl"
env:
CLIMACOMMS_DEVICE: "CUDA"
agents:
Expand Down
2 changes: 1 addition & 1 deletion .dev/Manifest.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This file is machine-generated - editing it directly is not advised

julia_version = "1.10.3"
julia_version = "1.10.4"
manifest_format = "2.0"
project_hash = "30b405be1c677184b7703a9bfb3d2100029ccad0"

Expand Down
11 changes: 11 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,17 @@ ClimaCore.jl Release Notes
main
-------

v0.14.9
-------

- ![][badge-🐛bugfix] GPU dispatching with `copyto!` and `fill!` have been fixed PR [#1802](https://github.com/CliMA/ClimaCore.jl/pull/1802).

v0.14.8
-------

- ![][badge-✨feature/enhancement] Added `FieldMatrixWithSolver`, a wrapper that helps defining implicit Jacobians. PR [#1788](https://github.com/CliMA/ClimaCore.jl/pull/1788)


v0.14.6
-------

Expand Down
10 changes: 5 additions & 5 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "ClimaCore"
uuid = "d414da3d-4745-48bb-8d80-42e94e092884"
authors = ["CliMA Contributors <[email protected]>"]
version = "0.14.7"
version = "0.14.9"

[deps]
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
Expand Down Expand Up @@ -51,6 +51,7 @@ Combinatorics = "1"
CountFlops = "0.1"
CubedSphere = "0.2"
CUDA = "5"
Dates = "1"
DataStructures = "0.18"
DocStringExtensions = "0.8, 0.9"
FastBroadcast = "0.3"
Expand All @@ -62,14 +63,13 @@ InteractiveUtils = "1"
IntervalSets = "0.5, 0.6, 0.7"
JET = "0.9"
Krylov = "0.9"
KrylovKit = "0.6, 0.7"
KrylovKit = "0.6, 0.7, 0.8"
LinearAlgebra = "1"
Logging = "1"
MPI = "0.20"
MultiBroadcastFusion = "0.3"
NVTX = "0.3"
OrderedCollections = "1"
OrdinaryDiffEq = "6"
PkgVersion = "0.1, 0.2, 0.3"
PrettyTables = "2"
Random = "1"
Expand All @@ -94,13 +94,13 @@ BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"
CountFlops = "1db9610d-79e1-487a-8d40-77f3295c7593"
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
FastBroadcast = "7034ab61-46d4-4ed7-9d0f-46aef9175898"
Krylov = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7"
JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b"
Logging = "56ddb016-857b-54e1-b83d-db4d58db5568"
MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195"
OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
Expand All @@ -109,5 +109,5 @@ TerminalLoggers = "5d786b92-1e48-4d6f-9151-6b4477ca9bed"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Aqua", "ArgParse", "AssociatedLegendrePolynomials", "BenchmarkTools", "Combinatorics", "CountFlops", "CUDA", "FastBroadcast", "Krylov", "JET", "Logging", "MPI", "OrderedCollections", "OrdinaryDiffEq", "PrettyTables", "Random", "SafeTestsets", "StatsBase", "TerminalLoggers", "Test"]
test = ["Aqua", "ArgParse", "AssociatedLegendrePolynomials", "BenchmarkTools", "Combinatorics", "CountFlops", "CUDA", "Dates", "FastBroadcast", "Krylov", "JET", "Logging", "MPI", "OrderedCollections", "PrettyTables", "Random", "SafeTestsets", "StatsBase", "TerminalLoggers", "Test"]

Loading

0 comments on commit dad9d73

Please sign in to comment.