From b8feeba0808f6c9fcd43c3d4acd95ea2f4adac9d Mon Sep 17 00:00:00 2001 From: CompatHelper Julia Date: Fri, 18 Oct 2024 01:40:48 +0000 Subject: [PATCH 01/16] CompatHelper: bump compat for GPUArrays to 11, (keep existing compat) --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 68eaba0f6..0c298c170 100644 --- a/Project.toml +++ b/Project.toml @@ -48,7 +48,7 @@ Dates = "1.10" DocStringExtensions = "0.9" FFTW = "1" FastGaussQuadrature = "0.4, 0.5, 1" -GPUArrays = "10" +GPUArrays = "10, 11" GenericFFT = "0.1" JLArrays = "0.1.4" JLD2 = "0.4, 0.5" From 17097cddb7ddb81c5bed8ab593967f9a98b478b1 Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 22 Oct 2024 09:36:49 +0200 Subject: [PATCH 02/16] remove CUDA dependency for tests --- Project.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index 0c298c170..11bece0a4 100644 --- a/Project.toml +++ b/Project.toml @@ -66,9 +66,8 @@ UnicodePlots = "3.3" julia = "1.10" [extras] -CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [targets] -test = ["Test", "JLArrays", "CUDA"] +test = ["Test", "JLArrays"] From 5dbe6dd033959dfcde36ae2cc11b4db3ba9a4f87 Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 22 Oct 2024 09:38:23 +0200 Subject: [PATCH 03/16] changelog updated --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1590a9f2..8232830f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ - Rossby-Haurwitz wave initial conditions [#591](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/591) - Haversine formula and AbstractSphericalDistance [#588](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/588) - Array-agnostic SpectralTransform [#583](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/583) -- Move CUDA dependency into extension [#586](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/586) +- Move CUDA dependency into extension [#586](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/586) and remove CUDA from tests as well [#590](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/590) - Stop supporting Julia v1.9 [#585](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/585) - `feedback.verbose` (de/activate the progressbar) is now set to `isinteractive()` to disable automatically for documentation [#582](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/582) From 44451864ad3b651c55139cb084b8bff2d94a7484 Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 22 Oct 2024 09:45:06 +0200 Subject: [PATCH 04/16] JLArray dependency 0.1 instead of 0.1.4 --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 11bece0a4..17b1885e1 100644 --- a/Project.toml +++ b/Project.toml @@ -50,7 +50,7 @@ FFTW = "1" FastGaussQuadrature = "0.4, 0.5, 1" GPUArrays = "10, 11" GenericFFT = "0.1" -JLArrays = "0.1.4" +JLArrays = "0.1" JLD2 = "0.4, 0.5" KernelAbstractions = "0.9" LinearAlgebra = "1.10" From b418b1234d8a68bf6c499ecc14c7528643ff9ab5 Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 22 Oct 2024 09:52:26 +0200 Subject: [PATCH 05/16] completely remove JLArrays compat entry --- Project.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Project.toml b/Project.toml index 17b1885e1..343f3eeda 100644 --- a/Project.toml +++ b/Project.toml @@ -50,7 +50,6 @@ FFTW = "1" FastGaussQuadrature = "0.4, 0.5, 1" GPUArrays = "10, 11" GenericFFT = "0.1" -JLArrays = "0.1" JLD2 = "0.4, 0.5" KernelAbstractions = "0.9" LinearAlgebra = "1.10" From 27b2f2ed7c55f5de72814a4a7b656e281d00a660 Mon Sep 17 00:00:00 2001 From: Max Date: Tue, 22 Oct 2024 09:54:33 +0200 Subject: [PATCH 06/16] add JLArrays compat again --- Project.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/Project.toml b/Project.toml index 343f3eeda..17b1885e1 100644 --- a/Project.toml +++ b/Project.toml @@ -50,6 +50,7 @@ FFTW = "1" FastGaussQuadrature = "0.4, 0.5, 1" GPUArrays = "10, 11" GenericFFT = "0.1" +JLArrays = "0.1" JLD2 = "0.4, 0.5" KernelAbstractions = "0.9" LinearAlgebra = "1.10" From 87bc15d3b1c5dc21f16866b93f7946ba40c9554d Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 25 Oct 2024 16:58:50 +0200 Subject: [PATCH 07/16] compat with GPUArrays v11 --- Project.toml | 2 +- src/LowerTriangularMatrices/lower_triangular_array.jl | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Project.toml b/Project.toml index 17b1885e1..492051bf5 100644 --- a/Project.toml +++ b/Project.toml @@ -48,7 +48,7 @@ Dates = "1.10" DocStringExtensions = "0.9" FFTW = "1" FastGaussQuadrature = "0.4, 0.5, 1" -GPUArrays = "10, 11" +GPUArrays = "11" GenericFFT = "0.1" JLArrays = "0.1" JLD2 = "0.4, 0.5" diff --git a/src/LowerTriangularMatrices/lower_triangular_array.jl b/src/LowerTriangularMatrices/lower_triangular_array.jl index e852c9aa8..40f2cfb5c 100644 --- a/src/LowerTriangularMatrices/lower_triangular_array.jl +++ b/src/LowerTriangularMatrices/lower_triangular_array.jl @@ -631,10 +631,10 @@ function Base.similar( return LowerTriangularArray{T, N, ArrayType{T,N}}(undef, size(L; as=Matrix)) end -function GPUArrays.backend( +function GPUArrays.get_backend( ::Type{LowerTriangularArray{T, N, ArrayType}} ) where {T, N, ArrayType <: GPUArrays.AbstractGPUArray} - return GPUArrays.backend(ArrayType) + return GPUArrays.get_backend(ArrayType) end Adapt.adapt_structure(to, L::LowerTriangularArray) = From 6cc4e12d147fb1dd11b8f2f6e3bd40673b7e8722 Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 1 Nov 2024 13:28:15 +0100 Subject: [PATCH 08/16] RingGrids updated for GPUArrays v11 --- src/RingGrids/general.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RingGrids/general.jl b/src/RingGrids/general.jl index b9a150021..4f16c49f6 100644 --- a/src/RingGrids/general.jl +++ b/src/RingGrids/general.jl @@ -476,7 +476,7 @@ AbstractGPUGridArrayStyle{2, ArrayType, Grid}(::Val{1}) where {ArrayType, Grid} AbstractGPUGridArrayStyle{3, ArrayType, Grid}(::Val{4}) where {ArrayType, Grid} = AbstractGPUGridArrayStyle{4, ArrayType, Grid}() AbstractGPUGridArrayStyle{3, ArrayType, Grid}(::Val{2}) where {ArrayType, Grid} = AbstractGPUGridArrayStyle{3, ArrayType, Grid}() -function GPUArrays.backend( +function GPUArrays.get_backend( ::Type{Grid} ) where {Grid <: AbstractGridArray{T, N, ArrayType}} where {T, N, ArrayType <: GPUArrays.AbstractGPUArray} return GPUArrays.backend(ArrayType) From d555a912b74486c84849ca489c680caf6c0d0686 Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 1 Nov 2024 13:49:20 +0100 Subject: [PATCH 09/16] GeoMakie dependency --- docs/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Project.toml b/docs/Project.toml index db44b40e1..9e3ddb40b 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -8,6 +8,6 @@ UnicodePlots = "b8865327-cd53-5732-bb35-84acbb429228" [compat] CairoMakie = "0.11" Documenter = "0.26, 0.27, 1" -GeoMakie = "0.6" +GeoMakie = "0.7" NCDatasets = "0.12, 0.13, 0.14" UnicodePlots = "3.3" From 453f1f3989cf2d6208fcd35bb50580e965659b38 Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 1 Nov 2024 13:51:36 +0100 Subject: [PATCH 10/16] CairoMakie compat --- docs/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Project.toml b/docs/Project.toml index 9e3ddb40b..14be8bd60 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -6,7 +6,7 @@ NCDatasets = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" UnicodePlots = "b8865327-cd53-5732-bb35-84acbb429228" [compat] -CairoMakie = "0.11" +CairoMakie = "0.12" Documenter = "0.26, 0.27, 1" GeoMakie = "0.7" NCDatasets = "0.12, 0.13, 0.14" From 15fd11dc723bfe527029ed0e354a96f1d2d4b0e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20Kl=C3=B6wer?= Date: Fri, 1 Nov 2024 13:44:34 +0000 Subject: [PATCH 11/16] Update CHANGELOG.md --- CHANGELOG.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index adea266b7..f1e8f1511 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +- update to GPUArrays v11 and remove CUDA from tests [#590](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/590) + ## v0.12.0 - OctaminimalGaussianArray/Grid to start with 4 points around the poles [#595](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/595) @@ -12,7 +14,7 @@ - Rossby-Haurwitz wave initial conditions [#591](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/591) - Haversine formula and AbstractSphericalDistance [#588](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/588) - Array-agnostic SpectralTransform [#583](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/583) -- Move CUDA dependency into extension [#586](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/586) and remove CUDA from tests as well [#590](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/590) +- Move CUDA dependency into extension [#586](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/586) - Stop supporting Julia v1.9 [#585](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/585) - `feedback.verbose` (de/activate the progressbar) is now set to `isinteractive()` to disable automatically for documentation [#582](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/582) @@ -25,4 +27,4 @@ - Modularised NetCDF output [#573](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/573) - Fixed a bug in RingGrids, now broadcasts are defined even when the dimensions mismatch in some cases [#568](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/568) - RingGrids: To wrap an Array with the horizontal dimension in matrix shape into a full grid, one has to use e.g. `FullGaussianGrid(map, input_as=Matrix)` now. [#572](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/572) -- CompatHelper: Allow for JLD2.jl v0.5 \ No newline at end of file +- CompatHelper: Allow for JLD2.jl v0.5 From 0f0b3ccc3341a7f854c9e190c337cab5eb97b335 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20Kl=C3=B6wer?= Date: Thu, 28 Nov 2024 11:41:01 +0000 Subject: [PATCH 12/16] Also increase compat for JLArrays --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 9e412ff1d..7c9b547b9 100644 --- a/Project.toml +++ b/Project.toml @@ -53,7 +53,7 @@ FastGaussQuadrature = "0.4, 0.5, 1" GPUArrays = "11" GenericFFT = "0.1" GeoMakie = "0.7.6" -JLArrays = "0.1" +JLArrays = "0.1.4, 0.2" JLD2 = "0.4, 0.5" KernelAbstractions = "0.9" LinearAlgebra = "1.10" From 3f68fa937c100648f67773a2356ce31d4c42aada Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20Kl=C3=B6wer?= Date: Thu, 28 Nov 2024 11:44:49 +0000 Subject: [PATCH 13/16] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 47943bf9f..9cd2d9db3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## Unreleased -- update to GPUArrays v11 and remove CUDA from tests [#590](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/590) +- update to GPUArrays v11, JLArrays v0.2 and remove CUDA from tests [#590](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/590) - Optical depth introduced and array-agnostic ColumnVariables [#606](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/606) - Include large-scale condensation tests [#615](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/615) - bugfix: large-scale condensation also at <100% [#609](https://github.com/SpeedyWeather/SpeedyWeather.jl/pull/609) From 34d0b0b818eaf0870e52fdb1800aab43c6b9e053 Mon Sep 17 00:00:00 2001 From: Max Date: Sun, 1 Dec 2024 22:36:37 +0100 Subject: [PATCH 14/16] remove CUDA from test env --- test/Project.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/test/Project.toml b/test/Project.toml index 838ec629a..ede81c90c 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -1,7 +1,6 @@ [deps] AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c" Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" EnzymeTestUtils = "12d8515a-0907-448a-8884-5fe00fdf1c5a" From 4e81d95e20b2966718a66f133e8ec999c87354ec Mon Sep 17 00:00:00 2001 From: Max Date: Sun, 1 Dec 2024 22:45:53 +0100 Subject: [PATCH 15/16] fix get_backend --- src/LowerTriangularMatrices/LowerTriangularMatrices.jl | 2 ++ src/LowerTriangularMatrices/lower_triangular_array.jl | 6 +++--- src/RingGrids/RingGrids.jl | 1 + src/RingGrids/general.jl | 6 +++--- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/LowerTriangularMatrices/LowerTriangularMatrices.jl b/src/LowerTriangularMatrices/LowerTriangularMatrices.jl index cb8ee758a..8250bb88b 100644 --- a/src/LowerTriangularMatrices/LowerTriangularMatrices.jl +++ b/src/LowerTriangularMatrices/LowerTriangularMatrices.jl @@ -6,6 +6,8 @@ using DocStringExtensions # GPU import Adapt import GPUArrays +import KernelAbstractions +import KernelAbstractions: get_backend # NUMERICS import LinearAlgebra: tril! diff --git a/src/LowerTriangularMatrices/lower_triangular_array.jl b/src/LowerTriangularMatrices/lower_triangular_array.jl index 905d4d9e7..b38659f66 100644 --- a/src/LowerTriangularMatrices/lower_triangular_array.jl +++ b/src/LowerTriangularMatrices/lower_triangular_array.jl @@ -630,10 +630,10 @@ function Base.similar( return LowerTriangularArray{T, N, ArrayType{T,N}}(undef, size(L; as=Matrix)) end -function GPUArrays.get_backend( - ::Type{LowerTriangularArray{T, N, ArrayType}} +function KernelAbstractions.get_backend( + a::LowerTriangularArray{T, N, ArrayType} ) where {T, N, ArrayType <: GPUArrays.AbstractGPUArray} - return GPUArrays.get_backend(ArrayType) + return KernelAbstractions.get_backend(a.data) end Adapt.adapt_structure(to, L::LowerTriangularArray) = diff --git a/src/RingGrids/RingGrids.jl b/src/RingGrids/RingGrids.jl index cfb8adb53..5c1941fd8 100644 --- a/src/RingGrids/RingGrids.jl +++ b/src/RingGrids/RingGrids.jl @@ -12,6 +12,7 @@ import LinearAlgebra # GPU import Adapt import GPUArrays +import KernelAbstractions # ABSTRACT GRIDS (2D) AND GRIDARRAYS (3D+) export AbstractGridArray, diff --git a/src/RingGrids/general.jl b/src/RingGrids/general.jl index d8dee4809..42d6ca185 100644 --- a/src/RingGrids/general.jl +++ b/src/RingGrids/general.jl @@ -482,10 +482,10 @@ AbstractGPUGridArrayStyle{2, ArrayType, Grid}(::Val{1}) where {ArrayType, Grid} AbstractGPUGridArrayStyle{3, ArrayType, Grid}(::Val{4}) where {ArrayType, Grid} = AbstractGPUGridArrayStyle{4, ArrayType, Grid}() AbstractGPUGridArrayStyle{3, ArrayType, Grid}(::Val{2}) where {ArrayType, Grid} = AbstractGPUGridArrayStyle{3, ArrayType, Grid}() -function GPUArrays.get_backend( - ::Type{Grid} +function KernelAbstractions.get_backend( + g::Grid ) where {Grid <: AbstractGridArray{T, N, ArrayType}} where {T, N, ArrayType <: GPUArrays.AbstractGPUArray} - return GPUArrays.backend(ArrayType) + return KernelAbstractions.get_backend(g.data) end function Base.similar( From f90b9d8c793a762c08eafa4ee527803737d2ceef Mon Sep 17 00:00:00 2001 From: Max Date: Sun, 1 Dec 2024 22:47:10 +0100 Subject: [PATCH 16/16] remove explicit import of get_backend again --- src/LowerTriangularMatrices/LowerTriangularMatrices.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/src/LowerTriangularMatrices/LowerTriangularMatrices.jl b/src/LowerTriangularMatrices/LowerTriangularMatrices.jl index 8250bb88b..7f2de7835 100644 --- a/src/LowerTriangularMatrices/LowerTriangularMatrices.jl +++ b/src/LowerTriangularMatrices/LowerTriangularMatrices.jl @@ -7,7 +7,6 @@ using DocStringExtensions import Adapt import GPUArrays import KernelAbstractions -import KernelAbstractions: get_backend # NUMERICS import LinearAlgebra: tril!