Skip to content

Conversation

@milankl
Copy link
Member

@milankl milankl commented Jan 10, 2025

No description provided.

@milankl
Copy link
Member Author

milankl commented Jan 10, 2025

@jackleland @maximilian-gelbrecht I believe we can now upgrade GPUArrays, JLArrays, and KernelAbstractions compat.

One would (fingers crossed) roll forward these two changes again

function KernelAbstractions.get_backend(
g::Grid
) where {Grid <: AbstractGridArray{T, N, ArrayType}} where {T, N, ArrayType <: GPUArrays.AbstractGPUArray}
return KernelAbstractions.get_backend(g.data)
end

function KernelAbstractions.get_backend(
a::LowerTriangularArray{T, N, ArrayType}
) where {T, N, ArrayType <: GPUArrays.AbstractGPUArray}
return KernelAbstractions.get_backend(a.data)
end

that #636 rolled back

@milankl milankl added the gpu 🖼️ Everthing GPU related label Jan 10, 2025
@maximilian-gelbrecht
Copy link
Member

Tests are passing here. I'd like to briefly test on GPU before merging as well.

@maximilian-gelbrecht
Copy link
Member

Ah, the tests are passing here, but I think the compat entries are actually wrong, we do loose compatibility with GPUArrays v10. It'll be only compatible with v11.

@milankl
Copy link
Member Author

milankl commented Jan 13, 2025

riiiight, is there a reason why we wouldn't upgrade then? E.g. I guess this means that older CUDA jl versions don't support v11, does that restrict us in any other way?

@maximilian-gelbrecht
Copy link
Member

I mean it's only relevant if someone wants to use Speedy with some package that isn't updated yet to be compatible with GPUArrays v11. Not sure if there are many around. This is only relevant for packages that do something with GPUs. Even if that's the case, they'd still just get a slightly older version of Speedy.

@milankl
Copy link
Member Author

milankl commented Jan 13, 2025

Oceananigans still uses GPUArrays v10, so at the moment that would disallow running both simultaneously (coupling), but I believe by the time we do GPU-GPU coupling they will have upgraded already (@simone-silvestri do you plan to change compat to GPUArrays v11?). And it's better to go to the new version anyway. Green light from my side!

@simone-silvestri
Copy link
Collaborator

There has been a feature removal in [email protected] that breaks a bunch of code for GPU oceananigans see this PR. So for the moment until the issue has been resolved, we have pinned a previous version of GPU arrays. Hopefully, if it is solved soon, we can move to the new version.

@maximilian-gelbrecht
Copy link
Member

We are in no hurry with this. I think we can wait until Oceananigans is compatible as well.

@milankl
Copy link
Member Author

milankl commented Jan 15, 2025

Because even if we run CPU-GPU with Oceananigans this will create a compat conflict? Yes makes sense

@milankl
Copy link
Member Author

milankl commented Feb 5, 2025

@simone-silvestri I'd love to update to GPUArrays v11, but I believe that would currently cause a conflict with Oceananigans?

@giordano
Copy link
Contributor

giordano commented Feb 7, 2025

but I believe that would currently cause a conflict with Oceananigans?

CliMA/Oceananigans.jl#4081

@milankl milankl changed the title bump compat to GPUArrays v11, JLArrays v0.1, KernelAbstractions 0.9 bump compat to GPUArrays v11, JLArrays v0.2, KernelAbstractions 0.9 Feb 13, 2025
@milankl milankl merged commit fc39876 into main Feb 13, 2025
6 checks passed
@milankl milankl deleted the mk/compat branch April 18, 2025 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

compatibility 👯 Changes necessary for compatibility between versions gpu 🖼️ Everthing GPU related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants